「2018 集訓隊互測 Day 5」小 H 愛染色


題意簡述:

https://loj.ac/problem/2504

題解:

題目要我們求的是 \(\sum_{i=0}^{n-m}F(i)\times( (C_{n-i}^m)^2- (C_{n-i-1}^m)^2)\) ,減去的部分和前面很像。
\(Ans(n)=\sum_{x=0}^{n-m}F(x)\times(C_{n-x}^m)^2\) ,答案即為\(Ans(n)-Ans(n-1)\)
不難發現, \((C_{n-x}^m)^2=(\frac{(n-x)^{\underline{m}}}{m!})^2\) 是關於\(x\)\(m*2\) 次多項式,因此 \(F(x)\times(C_{n-x}^m)^2\)\(m*3\) 次多項式,\(Ans(x)\)\(m*3+1\) 次多項式。
現在我們需要算出\(Ans(x)\)\(0-(3*m+1)\)的值,就可以用插值得到\(Ans(n)\)。題目給了F在\(0-m\)的點值,可以用NTT優化插值求出F在\(0-(3*m+1)\)的點值。組合數也可以\(O(m)\)計算,注意逆元要\(O(m)\)預處理。

代碼:

https://loj.ac/submission/683877


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM