组合数取模
来源:互联网 发布:淘宝网西服 编辑:程序博客网 时间:2024/06/03 04:55
原文链接:http://blog.csdn.net/wang907553141/article/details/52143128
原文参考博客:http://blog.csdn.net/acdreamers/article/details/8037918
下面附上Lucas定理的代码:
const LL mod=1e9+7;typedef long long LL;LL n,m;LL quickPow(LL a,LL k){//快速幂求a^k%mod LL ans=1; while(k) { if(k&1)//相与运算,如果k是奇数那么结果为真,执行下面操作 ans=(ans*a)%mod; a=(a*a)%mod; k>>=1; } return ans;}LL C(LL a,LL b,LL p){//求从n个数中挑出m个数的组合数 if(a<b) return 0; if(b>a-b) b=a-b; LL up=1,down=1; for(LL i=0;i<b;i++) { up=up*(a-i)%p; down=down*(i+1)%p; } return up*quickPow(down,p-2)%p;//乘法逆元(费马小定理)}LL lucas(LL a,LL b,LL p){ if(b==0) return 1; return C(a%p,b%p,p)*lucas(a/p,b/p,p)%p;}
阅读全文
0 0
- 组合数取模
- 【组合数取模】
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 根据数组中某个两个值作为键、并把数组中同时存在该两个字段值的数组值累加、组合成三维数组
- Out of Hay
- 河南省多校赛(4)GJJ的日常之再游戏
- 98. Validate Binary Search Tree
- 嵌入式Linux 使用libmad
- 组合数取模
- 设置select下拉框禁用
- hadoop 搭建
- 有相同资源,不同操作的线程
- 从源码看ListView有HeaderView时onItemClick里的position错位的问题
- POJ2778
- Java 机器学习库Smile实战(二)AdaBoost
- caffe绘制训练过程的loss和accuracy曲线
- 网络编程学习笔记一:Socket编程