没想到这道题竟然这么水…

我们发现m,n都非常小,完全可以O(nm)O(nm)O(nm)预处理出stripe数组,即代表(i,j)(i,j)(i,j)

及其向上的一列的个数,然后进行递推即可。

#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn = 2003;
int C[maxn][maxn];
int ans[maxn][maxn], stripe[maxn][maxn];
int main()
{
//froepen("in.txt","r",stdin);
int T,k;
scanf("%d%d",&T,&k);
for(int i = 1;i <= 2001; ++i) C[i][i] = C[i][0] = 1;
for(int i = 1;i <= 2001; ++i)
for(int j = 1;j < i; ++j)
C[i][j] = (C[i-1][j] + C[i-1][j-1]) % k;
for(int i = 2;i <= 2001; ++i)
for(int j = 0;j <= i; ++j)
{
if(C[i][j] == 0) ans[i][j] = stripe[i][j] = 1;
stripe[i][j] += stripe[i-1][j];
ans[i][j] += stripe[i-1][j];
if(j > 0) ans[i][j] += ans[i][j-1];
}
while(T--)
{
int n,m;
scanf("%d%d",&n,&m);
m = min(m,n);
printf("%d\n",ans[n][m]);
}
return 0;
}

洛谷P2822 组合数问题 杨辉三角的更多相关文章

  1. 洛谷P2822 组合数问题(题解)

    https://www.luogu.org/problemnew/show/P2822(题目传送) 先了解一下有关组合数的公式:(m在上,n在下) 组合数通项公式:C(n,m)=n!/[m!(n-m) ...

  2. 洛谷P2822 组合数问题

    输入输出样例 输入样例#1: 1 2 3 3 输出样例#1: 1 输入样例#2: 2 5 4 5 6 7 输出样例#2: 0 7 说明 [样例1说明] 在所有可能的情况中,只有C_2^1 = 2C21 ...

  3. 洛谷P2822组合数问题

    传送门啦 15分暴力,但看题解说暴力分有30分. 就是找到公式,然后套公式.. #include <iostream> #include <cstdio> #include & ...

  4. 洛谷 P2822 组合数问题

    题目描述 组合数C_n^mC​n​m​​表示的是从n个物品中选出m个物品的方案数.举个例子,从(1,2,3) 三个物品中选择两个物品可以有(1,2),(1,3),(2,3)这三种选择方法.根据组合数的 ...

  5. 洛谷 P2822 组合数问题 题解

    今天又考试了...... 这是T2. Analysis 考试时想了一个判断质因数个数+打表的神奇方法,但没在每次输入n,m时把ans置0,50分滚粗. 看了题解才发现原来是杨辉三角+二维前缀和,果然还 ...

  6. 洛谷——P2822 组合数问题

    https://www.luogu.org/problem/show?pid=2822 题目描述 组合数C_n^mC​n​m​​表示的是从n个物品中选出m个物品的方案数.举个例子,从(1,2,3) 三 ...

  7. 【洛谷P2822 组合数问题】

    题目连接 #include<iostream> #include<cstring> #include<cstdio> #include<cctype> ...

  8. 【题解】洛谷P2822 [NOIP2016TG ]组合数问题 (二维前缀和+组合数)

    洛谷P2822:https://www.luogu.org/problemnew/show/P2822 思路 由于n和m都多达2000 所以暴力肯定是会WA的 因为整个组合数是不会变的 所以我们想到存 ...

  9. 洛谷U14200 Changing 题解 【杨辉三角】

    题目描述 有nnn盏灯环形排列,顺时针依次标号为1⋯n1\cdots n1⋯n.初始时刻为000,初始时刻第iii盏灯的亮灭aia_iai​给定,000表示灭,111表示亮.下一时刻每盏灯的亮灭取决于 ...

随机推荐

  1. firebird的递归查询

    with RECURSIVE cte as ( select a.* from PM_PROJECT a where a.pm_id='root_id' union all select k.* fr ...

  2. Java基础学习总结(66)——配置管理库typesafe.config教程

    Typesafe的Config库,纯Java写成.零外部依赖.代码精简.功能灵活.API友好.支持Java properties.JSON.JSON超集格式HOCON以及环境变量.它也是Akka的配置 ...

  3. 第二次训练 密码acmore

    网址:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=26733#overview 贪心全场!!!! A题: #include <io ...

  4. Travel Card

    Travel Card time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...

  5. 0123简单配置LNMP

    简单配置LNMP不怕出现错误,就怕错误不知道出现在哪里?看日值tail -f /var/log/message -- 系统整个的日志tail -f /var/log/nginx/error.log - ...

  6. iOS中基于 Socket 的 C/S 结构网络通信(中)

    结合上一篇的知识.接下来将介绍基于 TCP 协议的 Socket  编程.因为 Socket 须要有client和服务端,那么如今实现的是关于服务端的简单程序.服务端採用的是CFStream 类来实现 ...

  7. jquery 页眉单行信息滚动显示

    JSP: 下面是控制滚动的样式.将滚动的内容查询出来.放在一个div 或者别的容器里面,我这里使用的是<dt> <style> #newCglist{width:300px;h ...

  8. ScrollViewer滚动究竟来触发载入数据的Behavior

    近期项目中遇到载入数据的性能问题, 原因是.net4.0的虚拟化支持不够完毕,有好多bug在4.5才修复. 我们仅仅能利用大家通用的做法来延迟载入数据: 每次载入固定少量的数据.当拖动究竟后.继续载入 ...

  9. C语言 - typedef struct 与struct

    c语言中可以选择的数据类型太少了. Java中有一些高级的数据结构. 结构中能够存放基本的数据类型以及其他的结构. 结构定义,一般放在程序的开头部分. 一般放在include之后. #include ...

  10. PHP 比 Java 的开发效率高在哪?

    PHP 比 Java 的开发效率高在哪? 现在很多互联网应用都是php开发的,在很多人的观念里已经把php与java分到了两个开发领域,php是互联网,java是企业应用. 都说php的开发效率高,更 ...