51nod 1245 Binomial Coefficients Revenge kummer定理+数位dp
来源:互联网 发布:网络传播负面消息方法 编辑:程序博客网 时间:2024/06/14 01:34
题意
C(M,N) = M! / N! / (M - N)! (组合数)。给出M和质数p,求C(M,0), C(M,1)……C(M,M)这M + 1个数中,有多少数不是p的倍数,有多少是p的倍数但不是p^2的倍数,有多少是p^2的倍数但不是p^3的倍数……。
1 <= T <= 5000,2 <= M, P <= 10^18
分析
去学习了一发kummer定理,简称库默尔定理。大概就是说
然后就可以愉快的数位dp了。设f[i,j,0/1]表示从低到高做到第i位,进位了j次且该位是否进位的方案,转移显然。
代码
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>using namespace std;typedef long long LL;LL n,p,a[65],f[65][65][2];void solve(){ LL tmp=n;int a1=0; while (tmp) a[++a1]=tmp%p,tmp/=p; memset(f,0,sizeof(f)); f[0][0][0]=1; for (int i=1;i<=a1;i++) { f[i][0][0]=f[i-1][0][0]*(a[i]+1); for (int j=1;j<=a1;j++) { f[i][j][0]=f[i-1][j][0]*(a[i]+1)+f[i-1][j][1]*a[i]; f[i][j][1]=f[i-1][j-1][0]*(p-a[i]-1)+f[i-1][j-1][1]*(p-a[i]); } } for (int i=0;i<=a1&&f[a1][i][0];i++) printf("%lld ",f[a1][i][0]); puts("");}int main(){ int T;scanf("%d",&T); while (T--) { scanf("%lld%lld",&n,&p); solve(); } return 0;}
阅读全文
0 0
- 51nod 1245 Binomial Coefficients Revenge kummer定理+数位dp
- 51nod 1245 Binomial Coefficients Revenge
- 51nod 1245 Binomial Coefficients Revenge
- 51nod1245 Binomial Coefficients Revenge
- 51nod1245 Binomial Coefficients Revenge
- 51nod 1569 二项式系数的个数 kummer定理+数位dp
- POJ3219 Binomial Coefficients Lucas定理
- poj Binomial Coefficients (Lucas定理)
- Binomial coefficients
- Binomial Coefficients
- POJ 3219 Binomial Coefficients(组合数 lucas定理)
- 51nod-1009-数位dp
- 51Nod - 1009 数位dp
- 51Nod - 1042 数位dp
- POJ 3219 Binomial Coefficients
- POJ 3219 Binomial Coefficients
- SPOJ NWERC11A Binomial coefficients
- poj3219--Binomial Coefficients
- Mybatis_全局配置文件
- AutoCAD .Net 创建对齐标注
- Oracle中char和varchar2的区别
- 【双目视觉探索路4】分析整理Learning OpenCV3书中立体标定、校正以及对应代码(2)之部分验证
- 2017.12.16江苏开璇智能科技有限公司
- 51nod 1245 Binomial Coefficients Revenge kummer定理+数位dp
- 波动序列
- 在阿里云ECS里安装Windows 7 32位中文版
- android自定义View之仿通讯录侧边栏滑动,实现A-Z字母检索
- 分布式资源调度系统 YARN
- css基础———box-sizing—标准盒模型&怪异盒模型
- AutoCAD .Net EntityJig – Jig Line by Start and End Points
- rabbitmq--延时队列
- JavaScript 开发者:最喜欢 React,Vue.js 比 Angular 更值得尝试 | 2017 JS 调查报告