構造乙個\(n\)個點,\(m\)條邊的仙人掌,使得隨機刪\(k\)個點之後期望的連通塊個數盡量大。
輸出這個最大的期望的連通塊數。
\(n,m,k\le 10^9\)
神仙題。
我的1h
考慮正難則反,最終\(連通塊數=點數-邊數+環數\)。
點數和邊數可以算,於是我們希望最大化最終剩下的期望環數。這時候可以感覺到欽定每個環長度為\(3\)是最好選擇,並且這樣的情況也是可以構造的,比如先構造個菊花圖,然後給一些葉子節點之間連邊。
圖造出來了。最終的問題是算最終留下的\(n-k\)個,欽定\(2\)(或\(3\))個點在裡面的概率。概率為\(\frac}}\),化簡之後可以快速算。
using namespace std;
#include #include #include #define mo 1000000007
#define ll long long
ll n,m,k;
ll qpow(ll x,ll y=mo-2)
int main()
牛客挑戰賽58
前i 1的二進位制相等,a的前n個數的前i 1位可以亂取,b的前n 1個數前i 1位也可以亂取,因為b的第n個數的前i 1異或可為任意值,所以sum1 2 i 1 n 2 i 1 n 1 2 i 1 2n 1 a的第i位為1且b的第i位為0 只要a的n數第i位中有乙個不為0的,a的第i位不為0,b的...
牛客挑戰賽45 C 友人 題解
題解 首先我們要知道z k z k 2 z k 則只進行一次操作的代價 r l 1 z k k z 2 r l 1 k z k 對於k z k,我們要令其盡可能的小,則z要是k的較大的子集。那麼我們列舉k的子集並儲存下來,對其排序。然後我們列舉i 0 n,直到等差數列前i個數之和大於y 對於每乙個i...
牛客挑戰賽32 E 樹上逆序對
對於一對 x,y 能成為逆序對的取決於絕對值大的那個數的符號。假如 a x a y 當 a x 為正時,不管 a y 取不取負號都比 a x 小。當 a x 為負時,不管 a y 取不取負號都比 a x 大。那麼就變成了統計每個節點的子樹及祖先有多少個比它的權值小的。取正時,子樹內權值比它小的節點對...