【BZOJ4591】[SHOI2015]超能粒子炮·改 (卢卡斯定理)
生活随笔
收集整理的這篇文章主要介紹了
【BZOJ4591】[SHOI2015]超能粒子炮·改 (卢卡斯定理)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【BZOJ4591】[SHOI2015]超能粒子炮·改 (盧卡斯定理)
題面
BZOJ
洛谷
題解
感天動地!終于不是拓展盧卡斯了!我看到了一個模數,它是質數!!!
看著這個東西就感覺可以遞歸處理。
令\(f(n,k)\)表示答案。
\[\begin{aligned} f(n,k)&=\sum_{i=0}^k {n\choose i}\\ &=\sum_{i=0}^k {n/p\choose i/p}*{n\%p\choose i\%p}\\ &=\sum_{x=0}^{p-1}{n\%p\choose x}*\sum_{i=0}^k[i\%p=x]{n/p\choose i/p}\\ &=\sum_{x=0}^{p-1}{n\%p\choose x}*\sum_{i=0}^{(k-x)/p}{n/p\choose i}\\ &=\sum_{x=0}^{p-1}{n\%p\choose x}*f(n/p,(k-x)/p) \end{aligned}\]
前面那個東西可以提前預處理好前綴和,而后面那個東西最多遞歸兩次。而遞歸層數也就最多\(6\)層。所以單次復雜度\(O(2^6)\)。卡卡常就洛谷rk1了。。。
轉載于:https://www.cnblogs.com/cjyyb/p/10180457.html
總結
以上是生活随笔為你收集整理的【BZOJ4591】[SHOI2015]超能粒子炮·改 (卢卡斯定理)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安装mq的时候,计算机用户名是中文名的解
- 下一篇: Eclipse 黑色主题