NOIP 2016 组合数问题 题解


一道sb题目,注意范围,可打表解决,打出杨辉三角,在用前缀和求解即可
代码(一维前缀和)
#include<bits/stdc++.h>
using namespace std;
int n,m,t,k,ans,a[2010][2010],b[2010][2010];
int main(){
scanf("%d %d",&t,&k);
a[0][0]=1%k;
a[1][0]=1%k;
a[1][1]=1%k;
for(int i=2;i<=2005;++i){
for(int j=0;j<=i;++j){
a[i][j]=(a[i-1][j]+a[i-1][j-1])%k;
}
}
for(int i=0;i<=2005;++i){
for(int j=0;j<=i;++j){
b[i][j]+=b[i][j-1];
if(a[i][j]==0) b[i][j]++;
}
}
while(t--){
scanf("%d %d",&n,&m);
ans=0;
for(int i=0;i<=n;++i){
int j=min(m,i);
ans+=b[i][j];
}
printf("%d\n",ans);
}
return 0;
}
二维
#include<bits/stdc++.h>
using namespace std;
int n,m,t,k,a[2010][2010],b[2010][2010];
int main(){
scanf("%d %d",&t,&k);
a[0][0]=1;
a[1][0]=1;
a[1][1]=1;
for(int i=2;i<=2005;++i){
for(int j=0;j<=i;++j){
a[i][j]=(a[i-1][j]+a[i-1][j-1])%k;
if(a[i][j]==0) b[i][j]=1;
}
}
for(int i=1;i<=2005;++i){
for(int j=1;j<=2005;++j){
b[i][j]=b[i][j-1]+b[i-1][j]-b[i-1][j-1]+b[i][j];
}
}
while(t--){
scanf("%d %d",&m,&n);
n=min(n,m);
printf("%d\n",b[m][n]);
}
return 0;
}
NOIP 2016 组合数问题 题解的更多相关文章
- noip 2016 提高组题解
前几天写的那个纯属搞笑.(额,好吧,其实这个也不怎么正经) 就先说说day2吧: T1:这个东西应该叫做数论吧. 然而我一看到就照着样例在纸上推了大半天(然而还是没有看出来这东西是个杨辉三角) 然后就 ...
- NOIP 2016 组合数问题
洛谷 P2822 组合数问题 洛谷传送门 JDOJ 3139: [NOIP2016]组合数问题 D2 T1 JDOJ传送门 Description 组合数Cnm表示的是从n个物品中选出m个物品的方案数 ...
- [NOIP]2016天天爱跑步
[NOIP]2016天天爱跑步 标签: LCA 树上差分 NOIP Description 小C同学认为跑步非常有趣,于是决定制作一款叫做<天天爱跑步>的游戏.<天天爱跑步>是 ...
- NOIp 2016 总结
NOIp 2016 总结 -----YJSheep Day 0 对于考前的前一天,晚自习在复习图论的最短路和生成树,加深了图的理解.睡得比较早,养足精力明日再战. Day 1 拿到题目,先过一边,题目 ...
- 【NOIP 2016】斗地主
题意 NOIP 2016 斗地主 给你一些牌,按照斗地主的出牌方式,问最少多少次出完所有的牌. 分析 这道题的做法是DFS. 为了体现这道题的锻炼效果,我自己写了好多个代码. Ver1 直接暴力搞,加 ...
- NOIP 2014 提高组 题解
NOIP 2014 提高组 题解 No 1. 生活大爆炸版石头剪刀布 http://www.luogu.org/problem/show?pid=1328 这是道大水题,我都在想怎么会有人错了,没算法 ...
- NOIP 2001 提高组 题解
NOIP 2001 提高组 题解 No 1. 一元三次方程求解 https://vijos.org/p/1116 看见有人认真推导了求解公式,然后猥琐暴力过的同学们在一边偷笑~~~ 数据小 暴力枚举即 ...
- NOIP 2016 迟来的满贯
17-03-22,雨 17-03-22,一个特别重要的日子 在这一天,本蒻攻克了NOIP 2016最难的一题,D1T2——天天爱跑步 实现了NOIP 2016的AK! YAYAYAYAYAYAY 自然 ...
- NOIP 2016 D2T2 蚯蚓](思维)
NOIP 2016 D2T2 蚯蚓 题目大意 本题中,我们将用符号 \(\lfloor c \rfloor⌊c⌋\) 表示对 \(c\) 向下取整,例如:\(\lfloor 3.0 \rfloor = ...
随机推荐
- Cell Phone Networ (树形dp-最小支配集)
目录 Cell Phone Networ (树形dp-最小支配集) 题意 思路 题解 Cell Phone Networ (树形dp-最小支配集) Farmer John has decided to ...
- Java 获取操作系统相关的内容
package com.hikvision.discsetup.util; import java.lang.reflect.Field; import java.net.InetAddress; i ...
- 运营商手机视频流量包业务日志ETL及统计分析
自己做过的项目在这里做一个记录,否则就感觉不是自己的了.一是因为过去时间已经很长了,二是因为当时做得有点粗糙,最后还不了了之了. 话不多说,先大致介绍一下项目背景.以前各大手机视频 App 一般都有运 ...
- C# Winform 自定义控件——竖着的Navbar
效果: 描述: 这是一个可折叠的菜单导航,主要是由panel.picturebox.label完成,界面的颜色用来区分一下各个组合控件,便于调试. 首先,首先是ImageButton: 这个是由Pic ...
- postman->newman->jenkins构建过程的问题记录及解决方法
从postman导出请求集合后要做的工作: 需要调整导出的json文件,如配置环境变量{{host}},需要修改成准确的url; 通过newman执行newman run test_request.j ...
- android ——多线程编程
1.定义一个线程只需要新建一个类继承自Thread.然后重写run()方法,并在里面编写耗时逻辑即可: class MyThread extends Thread{ public void run() ...
- Nightwatch——自动化测试(端对端e2e)
背景: 前端页面模拟仿真操作,目的是避免每次更新相关内容重复之前的测试操作,减少不必要的时间投入,以及校验功能的可用性.但是目前元素定位是个问题(每次页面有修改都要重设某些元素定位) 测试分类: 一. ...
- 不得不会的10点Java基础知识
1.实例变量和类变量 实例变量:指每个对象独立的,修改其中一个对象的实例变量,不会影响其他实例变量的值,变量值无 static 关键字修饰: 类变量:是指所有对象共享的,其中一个对象把该变量的值修改了 ...
- 自定义GroupBox
public partial class mGroupBox : GroupBox { private Color _TitleBackColor = Color.Black; private Fon ...
- 基于SpringBoot从零构建博客网站 - 分页显示文章列表功能
显示文章列表一般都是采用分页显示,比如每页10篇文章显示.这样就不用每次就将所有的文章查询出来,而且当文章数量特别多的时候,如果一次性查询出来很容易出现OOM异常. 后台的分页插件采用的是mybati ...