給定n組詢問,每組詢問給定兩個整數a,ba,b,請你輸出cba mod (109+7)的值。
輸入格式
第一行包含整數n。
接下來n行,每行包含一組a和b。
輸出格式
共n行,每行輸出乙個詢問的解。
資料範圍
1≤n≤10000
1≤b≤a≤2000
輸入樣例:
3
3 15 3
2 2
輸出樣例:
3
101
離線查詢
公式cab = ca-1b-1 + ca-1b
mod = int(1e9+7)
n = int(input())
table = [[0]*2010 for _ in range(2010)]
for a in range(2001):
for b in range(a+1):
if b == 0: table[a][b] = 1
else: table[a][b] = (table[a-1][b-1] + table[a-1][b]) % mod
for _ in range(n):
a, b = map(int, input().split())
print(table[a][b])
逆元法求組合數
a b p a p b p a b p a p b p a b p a p b p 但是 a b frac ba p amo dpbm od p frac bmodpa modp 這種時候就要用到逆元 在求組合數時 c nm tbinom mn n m n m frac m n m n p n m ...
DP演算法求組合數
dp演算法求組合數 中學就學過排列,組合 比如 c5,2 10 c6,2 15 如果用演算法實現的話,難道也要先做一連串的乘法,然後再相除嗎?比如 c5,2 5 4 3 2 3 2 如果數很大的話,又是乘又做除的,多牛的計算機才能搞定呢?先看看簡單的 2個數選2個,共有1種方法 3個數選2個,共有3...
演算法題 盧卡斯定理求組合數(Python)
給定n組詢問,每組詢問給定三個整數a,b,p,其中pp是質數,請你輸出cba mod p的值。輸入格式 第一行包含整數n。接下來n行,每行包含一組a,b,p。輸出格式 共n行,每行輸出乙個詢問的解。資料範圍 1 n 20 1 b a 10 18 1 p 10 5 輸入樣例 3 5 3 7 3 1 5...