演算法題 離線公式法求組合數(Python)

2021-10-13 14:34:01 字數 713 閱讀 8464

給定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...