牛客挑戰賽45 E 旁觀者

2022-05-31 11:24:07 字數 552 閱讀 9832

構造乙個\(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 大。那麼就變成了統計每個節點的子樹及祖先有多少個比它的權值小的。取正時,子樹內權值比它小的節點對...