原题链接:
hdu
题意简述
一个数 n n n珂以被分成若干个数的和的形式。
比如 n = 4 n=4 n=4时,分解有:
4=1+1+1+1
4=1+1+2
4=1+2+1
4=2+1+1
4=1+3
4=2+2
4=3+1
4=4
然后你要求在这些个分解中, k k k出现了多少次。
数据
输入
t//数据组数(这题多组)
n k
n k
...
n k//一次,n,k<=1e9
输出
ans
ans
...
ans//输出每个的答案,要膜1e9+7
样例
输入
2
4 2
5 5
输出
5
1
思路
我们会发现,一个数 n n n中出现 k k k,可能是一下几种情况:
- 在中间的情况
其中 k k k是确定的,左右两边的 a , b a,b a,b满足: a , b > 0 a,b>0 a,b>0且 a + b = n − k a+b=n-k a+b=n−k。然后我们发现,确定了 a a a就确定了 b b b,而且 a a a是有范围的, 0 < a < n − k 0<a<n-k 0<a<n−