您的位置:首页 > 其它

【BZOJ4591】 SHOI2015 超能粒子炮·改

2017-04-01 19:31 183 查看

【BZOJ4591】 SHOI2015 超能粒子炮·改

题意:求Σkj=0C(n,j) Mod 2333 (n,k≤1018),105组多测。

从来没有写过Lucas定理,全都忘光了……刚好趁这个机会记录一下。

Lucas定理:C(n,m)≡C(n/p,m/p)∗C(n%p,m%p) (mod p)

推导过程:令p=2333,sum[i][j]=Σjk=0C(i,j)

ans(n,k)=Σkj=0C(n,j)

=C(n,0)+C(n,1)+C(n,2)+...+C(n,k)

=C(n/p,0/p)∗C(n%p,0%p)+C(n/p,1/p)∗C(n%p,1%p)+...+C(n/p,k/p)∗C(n%p,k%p)

=C(n/p,0)∗sum[n%p][p−1]+C(n/p,1)∗sum[n%p][p−1]+...+C(n/p,k/p−1)∗sum[n%p][p−1]+C(n/p,k/p)∗sum[n%p][k%p]

=sum[n%p][p−1]∗Σk/p−1j=0C(n/p,j)+C(n/p,k/p)∗sum[n%p][k%p]

=sum[n%p][p−1]∗ans(n/p,k/p−1)+C(n/p,k/p)∗sum[n%p][k%p]

预处理C(0,0)∼C(p−1,p−1)及sum[0∼p−1][0∼p−1]。ans(n/p,k/p−1)递归求解,C(n/p,k/p)用Lucas定理递归求出。

时间复杂度……不太会算,不过显然小于O(log2pn)。

以上。大家都会就我不会好虚啊。

还有7天JSOI……加油吧。

logpn+logp⌊np⌋+logp⌊np2⌋+...有谁会算的话劳请教一下本蒟蒻……谢谢。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: