省選模擬87 題解

2022-03-16 18:16:15 字數 1291 閱讀 8783

直接構造乙個簡單的生成函式,就轉化為求 $a^n(x)$ 的前 $x$ 項係數。

乙個很神奇的解決多項式 $a^n(x)$ 前 $n$ 項係數的做法。

複雜度為 $o(nk)$,其中 $k$ 為 $a(x)$ 的項數。

做法是這樣的,對 $a^(x)$ 分別用乘法 $a(x)*a^n(x)$ 和 鏈式法則 求導,得到兩個不同的式子。

聯立可以解得乙個四個變數的式子,其中兩個變數是 $k$ 項的,另外乙個導函式乙個要求的函式。

通過導函式可以積分得到原函式,通過原函式卷積一下可以得到導函式,這樣就可以不斷遞推下去。

考慮乙個方案的概率,其實只和第乙個出現次數為 $n$ 的顏色的最後一次出現的位置有關。 

所以列舉這個位置是啥,然後分類討論要求的顏色是否是先到達 $n$ 的顏色即可得到乙個 $o(nq)$ 的做法。

優化只需要觀察統計的式子,對於每個區間討論即可。

其中乙個只與 $k$ 有關,因為本題中保證 $\sum k \leq 2 * 10^5$,所以可以對於每乙個 $k$ 都做一次字首和。

另乙個比較麻煩,要求的形如 $\sum \limits_^r \binom * \frac$。

因為思維僵化,所以看起來這個東西很不可做,實際上只要統計 $\binom * \frac$ 的字首和,乘乙個係數即可。

首先考慮 $k$ 為奇數,可以把每個集合按照大小與 $\frac$ 的大小關係分為小集合、大集合兩類。

然後有這樣乙個事情,兩個大集合一定不能出現在同一段中,所以答案有個下界是大集合數量。

容易發現大集合數量 $\geq$ 小集合數量,考慮把大小為 $i$ 的大集合和大小為 $k-i$ 的小集合進行匹配。

通過霍爾定理可以知道這個東西是存在完美匹配的,所以這樣做得到的就是最優解。

對於 $k$ 為偶數,需要特殊考慮大小 $\frac$ 的集合,然後問題是一般圖的匹配。

乙個結論是在本題的資料範圍內,這個一般圖也是存在完美匹配的,所以寫乙個一般圖最大匹配即可。

解決這個的演算法就是帶花樹。大概的思想就是弄黑點白點,定義白點到黑點的路徑為匹配邊,黑點到白點的路徑為非匹配邊。

如果找到點未染色,如果當前點無匹配邊,那麼可以增廣了。

否則可以認為當前點是白點,直接拓展到與它匹配的黑點繼續 bfs。

如果找到點已經染色了,如果形成偶環無視掉,如果形成奇環就找到 $lca$ 然後把這個奇環縮成乙個點。

對於奇環上的每個白點還沒有執行增廣操作,所以染為黑色加入佇列進行增廣。

然後還有乙個更簡單的做法是直接隨機出邊然後記錄是否訪問過,實現簡單。

每次在 dfs 裡面把所有的出邊 $random$ 一下就好了。

省選模擬104 題解

a.簽到題 把每個點向它右側比他大的第乙個點之間連邊,如果沒有那麼向 root 連邊。那麼可以構成一棵樹。特判一些情況之後,可以認為問題就是 1.給某節點和它的所有兒子節點權值加上乙個值。2.詢問一條路徑的權值和。首先考慮如果只詢問單點的維護方法,其實就是打乙個標記表示給整個兒子集合都加上了若干權值...

省選模擬102 題解

a.island 對於正負不同的情況,o n 列舉左側的位置然後計算。對於正負性相同的情況,把笛卡爾樹建出來,然後每次考慮跨過最小值的貢獻。分幾種情況 左右均不超過最小值,左右僅有乙個超過最小值,左右都超過最小值。然後順便統計上其中乙個端點為劃分點的貢獻。然後瘋狂的寫式子拆式子就沒了。做法挺簡單的,...

省選模擬101 題解

a.石子遊戲 問題可以簡單轉化為最少能取出多少個數,使得異或和為 k 顯然答案是小於 log a i 的,因為線性基已經可以拼出所有數了。所以可以考慮列舉這個答案,然後就是 dp 表示用 i 個數能否拼出 j 轉移可以用 fwt 優化,暴力做就是兩個 log 的,因為只需要一項所以手動 ifwt 可...