省選模擬87

a.

  首先容易發現要求的東西是個多項式快速冪,最終要保留x項。

  暴力的做大約是2個$log$的。然後發現多項式的次數很低,所以可以考慮一些奇怪的東西(也許是套路?)。

  將$P^{n+1}$求導,有兩種方式,即複合函數求導和乘積的導數,然後根據這兩個式子可以列出方程,然後可以遞推出每一項係數。

  複雜度$O(kx)$。

 

b.

  首先容易發現,一個序列的貢獻只和0或1出現n個的位置有關,所以可以枚舉這個位置組合數算貢獻。

  然後觀察可以發現相鄰兩個特殊位置之間貢獻都是類似的,可以通過前綴和預處理出來。

  但是這個貢獻和k有關,所以並不能全部預處理。

  由於k的和不大,所以可以發現k的全部取值也只有根號種,全部預處理出來即可。

 

c.

  首先考慮k爲奇數的情況,對於大小大於$k/2$的集合,顯然要將他們選入一個單獨的集合,那麼然後將較小的集合塞進去。

  由於$k<=n$,所以必然滿足$C(n,x)>=C(n,k-x) (x>=k/2)$,所以可以將每個大小較小的集合都塞進大集合所在的集合裏面。跑個二分圖匹配就行了。

  然後考慮k爲偶數的情況,與上面不同的是,多出了$x=k/2$的情況,這一部分只能自己和自己配對,所以直接跑二分圖匹配就沒戲了。

  然後就要解決一般圖匹配問題,可以打帶花樹來解決,由於此題圖很簡單,所以隨機算法也很優秀。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章