题解 【NOIP2016】组合数问题
【NOIP2016】组合数问题
Description
Input
第一行有两个整数t, k,其中t代表该测试点总共有多少组测试数据,k的意义见【问题描述】。
接下来t行每行两个整数n, m,其中n, m的意义见【问题描述】。
Output
t行,每行一个整数代表所有的0<=i<=n,0<=j<=min(i,m)中有多少对(i, j)满足C(j,i)是k的倍数。
Sample Input
输入1:
1 2
3 3
输入2:
2 5
4 5
6 7
Sample Output
输出1:
1
输出2:
0
7
Hint
样例1提示:
在所有可能的情况中,只有C(1,2)是2的倍数。
输出范围:
Source
NOIP2016 ,数学, 杨辉三角
解析
这题看上去确实很难做哈。
毕竟这数据范围。。
但实际上,我们完全可以利用杨辉三角预处理出组合数模k的值,
这样只要模k为0就是k的倍数了。
然后再O(2000*2000)记录下次数就能O(1)回答了。
上AC代码:
#include <bits/stdc++.h> #define ll long long using namespace std;int t,k,m,n; int f[2002][2002],a[2002][2002];int main(){scanf("%d%d",&t,&k);for(int i=0;i<=2000;i++){f[i][0]=1%k;}for(int i=1;i<=2000;i++){for(int j=1;j<=i;j++){f[i][j]=(ll)(f[i-1][j]+f[i-1][j-1])%k;}}/*计算杨辉三角模k的值*/if(!f[0][0]) a[0][0]=1;for(int i=1;i<=2000;i++){a[i][0]=a[i-1][0]+(f[i][0]==0);for(int j=0;j<i;j++){a[i][j]=a[i-1][j]+a[i][j-1]-a[i-1][j-1]+(f[i][j]==0);//如果值为0就是k的倍数 }a[i][i]=a[i][i-1]+(f[i][i]==0);for(int j=i+1;j<=2000;j++) a[i][j]=a[i][i];}/*预处理计数*/for(int i=1;i<=t;i++){scanf("%d%d",&n,&m);printf("%d\n",a[n][m]);//O(1)回答 }return 0; }
转载于:https://www.cnblogs.com/zsq259/p/10458722.html
题解 【NOIP2016】组合数问题相关推荐
- [NOIP2016] 组合数问题
题目描述 组合数CnmC_n^mCnm表示的是从n个物品中选出m个物品的方案数.举个例子,从(1,2,3) 三个物品中选择两个物品可以有(1,2),(1,3),(2,3)这三种选择方法.根据组 ...
- [NOIP2016]组合数问题
题目描述: 题目链接: UOJ 263 http://uoj.ac/problem/263 题目背景: NOIP2016 提高组 Day2 T1 组合数 表示的是从 n 个物品中选出 m 个物品的方案 ...
- CSP认证 201312-4有趣的数[C++题解]:组合数、数学
文章目录 题目解答 题目链接 题目解答 来源:acwing 分析: 题目要求:n位数,只能放0,1,2,3:0必须在1前面,2必须在3前面:0不能放在首位. 由于0和1有限制关系,2和3有限制关系,所 ...
- noip2016 组合数问题
题目描述 组合数表示的是从n个物品中选出m个物品的方案数.举个例子,从(1,2,3) 三个物品中选择两个物品可以有(1,2),(1,3),(2,3)这三种选择方法.根据组合数的定 义,我们可以给出计算 ...
- 第十三届蓝桥杯模拟赛(第二期)试题与题解 C++
第十三届蓝桥杯模拟赛(第二期)试题与题解 1.试题A [问题描述] 小蓝的IP地址为 192.168. * .21,其中 * 是一个数字,请问这个数字最大可能是多少 ? 题解 IP地址由四个字节组 ...
- luoguP1600 天天爱跑步(NOIP2016)(主席树+树链剖分)
阅读体验: https://zybuluo.com/Junlier/note/1303550 为什么这一篇的Markdown炸了? # 天天爱跑步题解(Noip2016)(桶+树上差分 ^ 树剖+主席 ...
- 语法入门*算法入门题单
作者:王清楚 链接:https://ac.nowcoder.com/discuss/817596?type=101&order=0&pos=1&page=4&chann ...
- 【新手上路】语法入门算法入门题单
作者:王清楚 链接:[新手上路]语法入门&算法入门题单_ACM竞赛_ACM/CSP/ICPC/CCPC/比赛经验/题解/资讯_牛客竞赛OJ_牛客网 来源:牛客网 介绍:本题单分为语法入门和算法 ...
- bzoj5368 [Pkusc2018]真实排名
题目描述: bz luogu 题解: 组合数计数问题. 首先注意排名指的是成绩不小于他的选手的数量(包括他自己). 考虑怎么增大才能改变排名. 小学生都知道,对于成绩为$x$的人,让他自己不动并让$\ ...
- “Shopee杯” e起来编程暨武汉大学2020年大学生程序设计大赛决赛(重现赛)
比赛链接 文章目录 A题 A Simple Problem about election 题目描述 题解: 代码: D题 Deploy the medical team 题意: 题解: 代码: F题 ...
最新文章
- Nature Communications:实时记录神经系统,解开大脑秘密
- 新浪api 40022错误
- ConcurrentHashMap的源码分析-扩容结束以后的退出机制
- 使用#传递参数防御SQL注入攻击
- Leet Code OJ 235. Lowest Common Ancestor of a Binary Search Tree [Difficulty: Easy]
- mysql not in 转化_[转]mysql里not in语句怎么写 | 学步园
- springboot全局常量_Spring-Boot配置属性和环境变量的加载顺序
- dsp怪胎_我是如何发现内心怪胎的
- boost::date_time时间类的使用
- Word,PDF,PPT,TXT之间的转换方法(
- html网页设计课程心得,终于发现学习网页设计心得体会
- 带你彻底弄明白!java简历模板下载
- sas macro 入门
- 全球十大外汇交易平台2020最新排名
- 模型保存文件.npy
- c语言对称矩形的判定,江苏省扬州市仪征市2017年中考数学一模试卷(含解析).doc...
- mysql查看cpu使用高sql语句_MYSQL CPU 使用率高,怎么查,怎么破
- 23_STM32调试和下载:SW配置
- 【openGL】安装篇(上):Windows
- 国家计算机职业技能鉴定4级考试内容详解
热门文章
- finereport连接oracle_FINEREPORT连接远程ORACLE数据库
- python 多进程 requests_python多进程(二)
- php的echo 和 return的区别
- 【Java Web开发指南】Java插入中文到数据库中文变成问号解决
- python【Matlibplot绘图库】基本使用(真の能看懂~!)
- python【数据结构与算法】对python抽象的再探索(看不懂你来打我)
- python列表知识点_Python列表List基础知识点总结
- linux重做引导分区,linuxgrub 0.97三重引导,基本无解,除非重做硬盘
- oracle取_后的数字,聊聊四种Oracle数字取整函数
- java数据库视图工具_数据库视图工具类