2014ACM/ICPC亚洲区西安站现场赛 F color(二项式反演)
Posted 人活着就是为了Chelly
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2014ACM/ICPC亚洲区西安站现场赛 F color(二项式反演)相关的知识,希望对你有一定的参考价值。
题意:小球排成一排,从m种颜色中选取k种颜色给n个球上色,要求相邻的球的颜色不同,求可行的方案数,答案模1e9+7。T组数据,1<= n, m <= 1e9, 1 <= k <= 1e6, k <= n, m
分析:
a(k)表示用不超过k种颜色染n个位置,两两相邻颜色不相同的总数,很简单a(k)=k(n-1)^(k-1)
b(k)表示恰好用k种颜色
很显然a(k)=ΣC(k,i)b(i),我们知道a,想知道b,这里就用到二项式反演
那么b(k)=ΣC(k,i)*i*(-1)^(k-i)*(n-1)^(k-1)
再利用kC(n,k)=nC(n-1,k-1)代入,就可以写成二项式展开的式子,从而用快速幂加速
然后就是枚举k,ans=ΣC(m,k)*b(k)
以上是关于2014ACM/ICPC亚洲区西安站现场赛 F color(二项式反演)的主要内容,如果未能解决你的问题,请参考以下文章
2014ACM/ICPC亚洲区域赛牡丹江站现场赛-A ( ZOJ 3819 ) Average Score
2014ACM/ICPC亚洲区域赛牡丹江站现场赛-I ( ZOJ 3827 ) Information Entropy