【hdu】【P3037】【Saving Beans】【题解】【Lucas定理】
来源:互联网 发布:淘宝数码宝贝大师 编辑:程序博客网 时间:2024/06/05 09:52
传送门:acm.hdu.edu.cn/showproblem.php?pid=3037
Lucas定理入门题
Lucas定理:
Lucas(n,m,p)=C(n%p,m%p)*Lucas(n/p,m/p,p)%p
Lucas(n,0,p)=1
当然p是质数
参考文献;
http://blog.csdn.net/acm_cxlove/article/details/7844973
Code:
#include<cstdio>#include<iostream>#include<algorithm>using namespace std;typedef long long lld;lld n,m,p;lld fac[100001];lld power(lld x,lld k,lld p){lld ans=1;for(;k;k>>=1){if(k&1)ans=(ans*x)%p;x=(x*x)%p;}return ans%p;}lld inv(lld x,lld p){return power(x,p-2,p)%p;}lld Lucas(lld n,lld m,lld p){ lld res=1; while(n&&m){ lld a=n%p,b=m%p; if(a<b) return 0; res=(res*fac[a]*inv(fac[b]*fac[a-b]%p,p))%p; n/=p; m/=p; } return res; } void getfac(lld p){fac[0]=1;for(lld i=1;i<=p;i++){fac[i]=fac[i-1]*i%p;}}int main(){int T;cin>>T;while(T--){cin>>n>>m>>p;getfac(p);cout<<Lucas(n+m,m,p)%p<<endl;}return 0;}
0 0
- 【hdu】【P3037】【Saving Beans】【题解】【Lucas定理】
- hdu 3037 Saving Beans(Lucas定理)
- HDU 3037 Saving Beans (Lucas定理)
- HDU 3037 Saving Beans(lucas定理)
- HDU 3037 Saving Beans (Lucas定理)
- [Lucas定理] hdu 3037 Saving Beans
- hdu 3037 saving beans (lucas定理)
- hdu 3027 Saving Beans ,lucas定理
- HDU 3037 Saving Beans (Lucas定理)
- hdu 3037 Saving Beans lucas定理
- HDU 3037:Saving Beans(Lucas定理)
- HDU 3037 Saving Beans Lucas定理
- hdu 3037 Saving Beans Lucas定理
- Lucas定理-saving beans
- hdu 3037 Saving Beans(lucas定理)(卢卡斯定理)
- 【日常学习】【组合数取模Lucas定理】HDU3037 Saving Beans题解
- 【hdu3037】【Lucas定理】Saving Beans
- Hdu3037 Saving Beans Lucas定理
- OpenCV学习笔记11 OpenCV图像处理模块ImgProc Module. Image Processing(四)
- Reverse Words in a String
- 生成模型VS辨别模型
- 2014华为机试——字符串压缩
- 彻底搞定C指针---指向指针的指针
- 【hdu】【P3037】【Saving Beans】【题解】【Lucas定理】
- There are no resources that can be added or removed from the server
- HDU 1754 I Hate It (线段树)
- 修改Eclipse快捷键的方法
- 7.17_java学习_构造函数_构造代码块
- java + selenium测试框架 (之高亮显示页面元素)
- [leetcode] Path Sum
- SSH的各种异常
- N个鸡蛋放进M个篮子问题