uoj#P263. 【NOIP2016】组合数问题

【NOIP2016】组合数问题

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

$$C_n^m=\frac{n!}{m!(n-m)!}$$

其中 $n!=1\times2\times\cdots\times n$;特别地,定义 $0!=1$。

小葱想知道如果给定 $n,m$ 和 $k$,对于所有的 $0\leq i\leq n,0\leq j\leq \min \left ( i, m \right )$ 有多少对 $(i,j)$ 满足 $C_i^j$ 是 $k$ 的倍数。

输入格式

从标准输入读入数据。

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

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

输出格式

输出到标准输出。

$t$ 行,每行一个整数代表所有的 $0\leq i\leq n,0\leq j\leq \min \left ( i, m \right )$ 中有多少对 $(i,j)$ 满足 $C_i^j$ 是 $k$ 的倍数。

1 2
3 3
1

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

2 5
4 5
6 7
0
7

限制与约定

测试点$n$$m$$k$$t$
$1$$\leq3$$\leq3$$=2$$=1$
$2$$=3$$\leq10^4$
$3$$\leq7$$\leq7$$=4$$=1$
$4$$=5$$\leq10^4$
$5$$\leq10$$\leq10$$=6$$=1$
$6$$=7$$\leq10^4$
$7$$\leq20$$\leq100$$=8$$=1$
$8$$=9$$\leq10^4$
$9$$\leq25$$\leq2000$$=10$$=1$
$10$$=11$$\leq10^4$
$11$$\leq60$$\leq20$$=12$$=1$
$12$$=13$$\leq10^4$
$13$$\leq100$$\leq25$$=14$$=1$
$14$$=15$$\leq10^4$
$15$$\leq60$$=16$$=1$
$16$$=17$$\leq10^4$
$17$$\leq2000$$\leq100$$=18$$=1$
$18$$=19$$\leq10^4$
$19$$\leq2000$$=20$$=1$
$20$$=21$$\leq10^4$

时间限制:$1\texttt{s}$

空间限制:$512\texttt{MB}$

下载

样例数据下载