Luogu 2822(组合数学)(NOIP2016)
来源:互联网 发布:西北师范大学知行诱骗 编辑:程序博客网 时间:2024/06/03 18:30
传送门
NOIP 2016 D2T1(组合数)
先预处理组合数:
C(i,j)=C(i-1,j)+C(i-1,j-1)
再dp预处理二维每一行的前缀和,最后每组数据统计答案(O(n))即可
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int MAXN=2006;int k,n,m,c[MAXN][MAXN],dp[MAXN][MAXN];int main() { memset(dp,0,sizeof(dp)); int kase; scanf("%d%d",&kase,&k); for (int i=1;i<=2000;++i) { c[i][1]=i%k; for (int j=2;j<=i;++j) c[i][j]=(c[i-1][j]%k+c[i-1][j-1]%k)%k; } for (int i=1;i<=2000;++i) for (int j=1;j<=i;++j) dp[i][j]=dp[i][j-1]+(c[i][j]==0); while (kase--) { scanf("%d%d",&n,&m); int ans=0; for (int i=1;i<=n;++i) ans+=i>m?dp[i][m]:dp[i][i]; printf("%d\n",ans); } return 0;}
阅读全文
0 0
- Luogu 2822(组合数学)(NOIP2016)
- Luogu 1313(组合数学)(NOIP2011)
- [luogu-2822]noip2016-day2-T1 组合数问题 题解
- NOIP2016组合数问题(洛谷2822)
- 洛谷P2822 组合数问题(NOIp2016)
- luogu 2822 组合数问题
- HDOJ2045(组合数学)
- Combinations(组合数学)
- noip2016 Day2 T2-组合数问题-组合数学-前缀和
- luogu 2827(noip2016) 蚯蚓
- 求组合数(数学)
- POJ 1715(组合数学)
- hdu4945(dp+组合数学)
- HDU4908BestCoder Sequence(组合数学)
- Catalan数(组合数学)
- ZOJ-3791(组合数学)
- (组合数学)Stirling 数
- HDOJ-3037(组合数学)
- postion使用和table标签的默认属性整理及字体的属性初识
- 【leetcode】205. Isomorphic Strings(Python & C++)
- 最近工作中遇到的问题以及解决方法总结
- Angular2开发环境搭建@WebStorm
- (二分)cup
- Luogu 2822(组合数学)(NOIP2016)
- for (初始化语句; 判断条件; 循环条件)
- Js中那些高和宽的事儿
- 暑期集训 Contest 1
- semi_supervised classification with graph convolutional networks论文阅读报告(1)
- Java链接几种不同数据库的操作
- CSS基础小知识
- ExpandableListView实现手风琴效果
- python之数据处理小技巧