https://www.luogu.org/problem/show?pid=2822

题目描述

组合数C_n^mC​n​m​​表示的是从n个物品中选出m个物品的方案数。举个例子,从(1,2,3) 三个物品中选择两个物品可以有(1,2),(1,3),(2,3)这三种选择方法。根据组合数的定 义,我们可以给出计算组合数的一般公式:

C_n^m=\frac{n!}{m!(n - m)!}C​n​m​​=​m!(n−m)!​​n!​​

其中n! = 1 × 2 × · · · × n

小葱想知道如果给定n,m和k,对于所有的0 <= i <= n,0 <= j <= min(i,m)有多少对 (i,j)满足C_i^jC​i​j​​是k的倍数。

输入输出格式

输入格式:

第一行有两个整数t,k,其中t代表该测试点总共有多少组测试数据,k的意义见 【问题描述】。

接下来t行每行两个整数n,m,其中n,m的意义见【问题描述】。

输出格式:

t行,每行一个整数代表答案。

输入输出样例

输入样例#1:

1 2
3 3
输出样例#1:

1
输入样例#2:

2 5
4 5
6 7
输出样例#2:

0
7

说明

【样例1说明】

在所有可能的情况中,只有C_2^1 = 2C​2​1​​=2是2的倍数。

【子任务】

 #include <cstdio>

 inline void read(int &x)
{
x=; register char ch=getchar();
for(; ch>''||ch<''; ) ch=getchar();
for(; ch>=''&&ch<=''; ch=getchar()) x=x*+ch-'';
}
const int N();
int t,k,fac[N];
int C[N][N],sum[N][N]; int Presist()
{
read(t),read(k);
for(int i=; i<=; ++i) C[i][]=C[i][i]=%k;
for(int i=; i<=; ++i)
for(int j=; j<i; ++j)
C[i][j]=(C[i-][j-]%k+C[i-][j]%k)%k;
for(int i=; i<=; ++i)
for(int j=; j<=; ++j)
sum[i][j]=sum[i-][j]+sum[i][j-]-sum[i-][j-]+(!C[i][j]&&i>=j);
for(int n,m; t--; )
{
read(n),read(m);
printf("%d\n",sum[n][m]);
}
return ;
} int Aptal=Presist();
int main(int argc,char**argv){;}

最新文章

  1. Navicat For Mysql快捷键
  2. WCF基础知识
  3. 一台服务器发布多个tomcat并注册服务名办法
  4. TestLink安装全攻略
  5. 【转】如何在github上fork一个项目来贡献代码以及同步原作者的修改 -- 不错
  6. mybatis配置方法
  7. python模块 mysql-python安装(在ubuntu系统下)
  8. 乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
  9. php引入文件(include 和require的区别)
  10. Linux新手随手笔记1.7
  11. luogu P2617 Dynamic Rankings &amp;&amp; bzoj 1901 (带修改区间第k大)
  12. webbug3.0靶场第一关
  13. Linux压力测试工具stress的参数详解
  14. 第三章 C#程序结构(3.1 顺序与选择结构)
  15. window netsh interface portproxy 配置转发
  16. easyui form 提交问题,纠结了很久,有点诡异
  17. 2013-2014 ACM-ICPC, NEERC, Southern Subregional Contest Problem D. Grumpy Cat 交互题
  18. C#里partial关键字的作用
  19. RAC 性能分析 - &#39;log file sync&#39; 等待事件
  20. SPOJ PGCD

热门文章

  1. 基础框架整合-ssm框架+前后台交互完整教程
  2. Eclipse设置jdk相关
  3. spark视频教程免费下载
  4. jquery源码ajax分析
  5. LeetCode题解 || Longest Substring Without Repeating Characters (O(n)算法)问题
  6. BZOJ 2124: 等差子序列 线段树维护hash
  7. gwt学习资料
  8. mysqli简介
  9. 3. Longest Substring Without Repeating Character[M] 最大不重复子串
  10. 问题集锦 ~ PHP