YYHS-NOIP2017SummerTraining0914-问题 A: 组合数问题
题目描述
|
输入
输出
样例输入
样例输出
提示
|
测试点
|
n
|
m
|
k
|
t
|
|
1
|
≤3
|
≤3
|
=2
|
=1
|
|
2
|
=3
|
≤104
|
||
|
3
|
≤7
|
≤7
|
=4
|
=1
|
|
4
|
=5
|
≤104
|
||
|
5
|
≤10
|
≤10
|
=6
|
=1
|
|
6
|
=7
|
≤104
|
||
|
7
|
≤20
|
≤100
|
=8
|
=1
|
|
8
|
=9
|
≤104
|
||
|
9
|
≤25
|
≤2000
|
=10
|
=1
|
|
10
|
=11
|
≤104
|
||
|
11
|
≤60
|
≤20
|
=12
|
=1
|
|
12
|
=13
|
≤104
|
||
|
13
|
≤100
|
≤25
|
=14
|
=1
|
|
14
|
=15
|
≤104
|
||
|
15
|
≤60
|
=16
|
=1
|
|
|
16
|
=17
|
≤104
|
||
|
17
|
≤2000
|
≤100
|
=18
|
=1
|
|
18
|
=19
|
≤104
|
||
|
19
|
≤2000
|
=20
|
=1
|
|
|
20
|
=21
|
≤104
|
题解
#include<bits/stdc++.h>
#define N 2005
using namespace std;
int T,k,n,m,ans;
int c[N][N],s[N][N];
int main(){
scanf("%d%d",&T,&k);
c[][]=;
for (int i=;i<=N-;i++){
c[i][]=;
for (int j=;j<=i;j++)
c[i][j]=(c[i-][j-]+c[i-][j])%k;
}
for (int i=;i<=N-;i++){
if (!c[i][]) s[i][]++;
for (int j=;j<=i;j++){
s[i][j]=s[i][j-];
if (!c[i][j]) s[i][j]++;
}
}
while (T--){
ans=;
scanf("%d%d",&n,&m);
for (int i=;i<=n;i++)
ans=ans+s[i][min(i,m)];
printf("%d\n",ans);
}
return ;
}
YYHS-NOIP2017SummerTraining0914-问题 A: 组合数问题的更多相关文章
- LCM性质 + 组合数 - HDU 5407 CRB and Candies
CRB and Candies Problem's Link Mean: 给定一个数n,求LCM(C(n,0),C(n,1),C(n,2)...C(n,n))的值,(n<=1e6). analy ...
- 计算一维组合数的java实现
背景很简单,就是从给定的m个不同的元素中选出n个,输出所有的组合情况! 例如:从1到m的自然数中,选择n(n<=m)个数,有多少种选择的组合,将其输出! 本方案的代码实现逻辑是比较成熟的方案: ...
- Noip2016提高组 组合数问题problem
Day2 T1 题目大意 告诉你组合数公式,其中n!=1*2*3*4*5*...*n:意思是从n个物体取出m个物体的方案数 现给定n.m.k,问在所有i(1<=i<=n),所有j(1< ...
- C++单元测试 之 gtest -- 组合数计算.
本文将介绍如何使用gtest进行单元测试. gtest是google单元测试框架.使用非常方便. 首先,下载gtest (有些google项目包含gtest,如 protobuf),复制目录即可使用. ...
- NOIP2011多项式系数[快速幂|组合数|逆元]
题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k , ...
- AC日记——组合数问题 落谷 P2822 noip2016day2T1
题目描述 组合数表示的是从n个物品中选出m个物品的方案数.举个例子,从(1,2,3) 三个物品中选择两个物品可以有(1,2),(1,3),(2,3)这三种选择方法.根据组合数的定 义,我们可以给出计算 ...
- 【板子】gcd、exgcd、乘法逆元、快速幂、快速乘、筛素数、快速求逆元、组合数
1.gcd int gcd(int a,int b){ return b?gcd(b,a%b):a; } 2.扩展gcd )extend great common divisor ll exgcd(l ...
- 【BZOJ-4591】超能粒子炮·改 数论 + 组合数 + Lucas定理
4591: [Shoi2015]超能粒子炮·改 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 95 Solved: 33[Submit][Statu ...
- UOJ263 【NOIP2016】组合数问题
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...
- 组合数取模Lucas定理及快速幂取模
组合数取模就是求的值,根据,和的取值范围不同,采取的方法也不一样. 下面,我们来看常见的两种取值情况(m.n在64位整数型范围内) (1) , 此时较简单,在O(n2)可承受的情况下组合数的计算可以 ...
随机推荐
- java亦或(^)
在java程序里面的异或用法: 相同输出0,不同输出1,例如: System.out.println(1^1); 输出0 System.out.println(1^2):输出3,因为最后2个低位都不一 ...
- jQuery基础知识总结二
* DOM操作 *1 基本操作 * html() - 等价于innerHTML属性 * text() - 等价于textContent属性 * val() - 等价于value属性 * attr() ...
- 在windows平台下electron-builder实现前端程序的打包与自动更新
由于8月份上旬公司开发一款桌面应用程序,在前端开发程序打包更新时遇到一些困扰多日的问题,采用electron-builder最终还是得到解决~ 以下是踩坑的过程及对electron打包与更新思路的梳理 ...
- sqlite 的基本使用3
AND 运算符和OR运算符 这两个运算符一般被称为连接运算符,用来缩小sqlite所选的数据 AND 运算符是当所有的条件都为真时,表达式才为真 sqlite and name = "bb& ...
- Oracle 外键约束
本文讨论一下Oracle中的外键约束问题,以及和DB2中的小不同. 首先创建测试环境. -- 创建测试主表. ID 是主键. CREATE TABLE test_main ( id INT, valu ...
- CSS3自定义滚动条样式
原文地址:→传送门 写在前面 滚动条是个很常见的东东,不过某些浏览器自带的滚动条确实不太好看啊,下面可以作为学习,探讨下自定义滚动条的实现,这样你的滚动条就可以美美的啦.但是,也只能玩玩,因为只针对w ...
- 一些常用的集合工具的代码块(缓慢更新XD)
鱼的记忆 我发现在项目中常常要用到一些集合的处理,不同的项目我经常会编写自己的集合工具代码块,后来我发现我总是在写一样的代码块(可能是我记性不好吧:),毕竟鱼的记忆只有7秒),所以我意识到了是时候 ...
- 在Eclipse中关联Android API源码
在Eclipse中快速关联API源码,便于查看类以及方法.方法如下: 1. 在对应的项目文件右键——>properties——>java build path——>libraries ...
- MBProgressHUD1.0.0源码解析
MBProgressHUD是一个显示提示窗口的三方库,常用于用户交互.后台耗时操作等的提示.通过显示一个提示框,通知用户操作或任务的执行状态:同时,利用动画效果,降低用户等待的焦虑心理,增强用户体验. ...
- ExpandableListView实现手风琴效果
1. 效果示例图 2. 创建方法 (1)第一种方法与ListView等普通控件一样,直接在布局文件中添加ExpandableListView控件即可. (2)第二种方法则是创建一个Activity继承 ...