模板_Lucas定理
2016-03-01 20:03
399 查看
long long fac ;long long n,m,p; void init(){fac[0]=1;for(int i=1;i<=p;i++) fac[i]=fac[i-1]*i%p;} long long pow(long long a,long long b,long long res=1){ while(b){if(b&1) res=res*a%p;a=a*a%p,b>>=1;} return res; } long long C(long long n,long long m){return fac *pow(fac[m]*fac[n-m]%p,p-2)%p;} long long Laucs(long long n,long long m,long long res=1){ while(n&&m){ if(n%p<m%p) return 0; res=res*C(n%p,m%p)%p,n/=p,m/=p; } return res; }
相关文章推荐
- Operating Systems: Three Easy Pieces阅读笔记(四)FILE SYSTEM- VSFC&FSCK
- android多语言支持(Locale与Configuration)
- android Service
- 使用图片拉伸resizableImageWithCapInsets
- Codeforces Round #343 (Div. 2) B
- CF630K:Indivisibility(容斥)
- Spring Autowired
- c++中string的用法积累
- 用户管理系统——查询所有用户
- 使用MapReduce访问HBase三种访问模式
- HDU_P3037 Saving Beans(Lucas定理+组合数取膜)
- UltimateRecyclerView
- pixhawk 四旋翼笔记1
- java中集合类和队列
- hdu 5616(dp)
- AutoLayout
- 【POJ 2406】 Power Strings(KMP求循环节)
- mongodb 管理工具 for mac
- C++面向对象编程分享----20160301_李楚煌
- FMDB