UVAlive7040(组合数,容斥原理,逆元)
来源:互联网 发布:文明网络标语 编辑:程序博客网 时间:2024/05/17 04:47
题意:给
思路:首先如果用
设
|A1¯¯¯¯∩A2¯¯¯¯∩...∩Ak¯¯¯¯| =k∗(k−1)n−1−∑|Ai|+∑|Ai∩Aj|+...+(−1)k∑|A1∩A2∩...∩Ak|
很容易计算
∑|Ai|=C1k∗(k−1)∗(k−2)n−1
同理
∑|Ai1∩Ai2∩...∩Aij|=Cjk∗(k−j)∗(k−j−1)n−1
所以要求的就是
|A1¯¯¯¯∩A2¯¯¯¯∩...∩Ak¯¯¯¯|∗Ckm
因为
Cim=Ci−1m∗m−i+1i
AC code
#include<bits/stdc++.h>using namespace std;typedef long long LL;const int MOD = 1e9+7;const int MAXN = 1e6+10;LL inv[MAXN],Cm[MAXN],Ck[MAXN];int n,m,k;LL _pow(LL a,int n){ if(n==0) return 1; LL sum=_pow(a,n/2); sum=sum*sum%MOD; if(n&1) sum=sum*a%MOD; return sum;}void inverse(){ inv[1]=1; for(int i=2;i<MAXN;i++) inv[i]=_pow(i,MOD-2);}void C(){ Ck[0]=Cm[0]=1; for(int i=1;i<=k;i++) { Cm[i]=Cm[i-1]%MOD*(m-i+1)%MOD*inv[i]%MOD; Ck[i]=Ck[i-1]%MOD*(k-i+1)%MOD*inv[i]%MOD; }}int main(){ int t;scanf("%d",&t); inverse(); for(int tt=1;tt<=t;tt++) { scanf("%d%d%d",&n,&m,&k); int sgn=1; LL sum=0; C(); for(int i=k;i>=1;i--) { sum=(sum+Ck[i]*i%MOD*_pow(i-1,n-1)*sgn%MOD+MOD)%MOD; sgn=-sgn; } sum=(sum*Cm[k])%MOD; printf("Case #%d: %lld\n",tt,sum); } return 0;}
阅读全文
1 0
- UVAlive7040(组合数,容斥原理,逆元)
- [组合数]UVALive7040
- 【容斥原理+逆元+组合数+费马小定理+快速幂】UVALive
- Cheerleaders +容斥原理+组合数+UVA
- Lengthening Sticks 组合数+容斥原理
- 求几个数的组合数 容斥原理
- UVALive 7040 Color (容斥定理 + 递推求逆元 + 组合数 + 快速幂)
- zoj 3638 Fruit Ninja(多重集组合+乘法逆元+容斥原理)
- 20160331 UVA11806 Cheerleaders(组合数公式+容斥原理)
- UVA 11806 Cheerleaders(容斥原理)(组合数)
- UVA 11806 Cheerleaders(容斥原理 + 组合数)
- uva 11806 Cheerleaders 容斥原理+组合数
- 数论训练 {限制} [扩展gcd][组合数][容斥原理]
- bzoj2839 集合计数 (容斥原理+组合数)
- 组合数、逆元,数学
- FZU2282-组合数-逆元
- HDU 4059 容斥原理+快速幂+逆元
- CF GYM 100548 容斥原理+快速幂+逆元
- POJ-1753 Flip Game(翻棋子)
- hdu1530-回溯&最大团&菜鸟算法笔记-Maximum Clique
- 【BigHereo 22】---DataStructure---宏观理论(一)
- go 中 make 与 new 的区别
- First, rewinding head to replay your work on top of it...
- UVAlive7040(组合数,容斥原理,逆元)
- PHP解压ZIP压缩包,解决中文乱码问题
- 汇编实现字符串大小写转换
- No qualifying bean of type 'com.funo.oa.dao.PostDao' available问题解决:找不到dao的实现类
- flume sink到hdfs第一列是时间戳,怎么去掉
- 关于对 React 生命周期方法的详解
- 把spring boot项目打war包放在tomcat下启动报错java.lang.NoSuchMethodError: org.apache.tomcat.util.res.StringManage
- 为MATLAB添加深度学习工具箱
- Java中MyEclipse快捷键整理