hdu 5698 瞬間移動

2022-06-27 12:30:12 字數 897 閱讀 2704

有乙個無限大的矩形,初始時你在左上角(即第一行第一列),每次你都可以選擇乙個右下方格仔,並瞬移過去(如從下圖中的紅色格仔能直接瞬移到藍色格仔),求到第n

'>n

'>n

n行第m

'>m

m列的格仔有幾種方案,答案對1000000007

'>1000000007

1000000007取模。

input多組測試資料。

兩個整數n,m

(2≤n

,m≤100000

)'>n,m(2≤n,m≤100000)

n,m(2≤n,m≤100000)

output乙個整數表示答案sample input

4 5
sample output

10

盧卡斯定理解楊輝三角 楊輝三角第n行的m個數可表示為c(n-1,m-1)

lucas定理是用來求 c(n,m) mod p,p為素數的值,用來解決大組合數求模是很有用的。最大的資料處理能力是p在10^5左右。

c(n,m) = c(n-1,m-1) + c(n-1,m).

#include#include#includeusing namespace std;

#define ll long long

const ll mod=1000000007;

#define maxn 70

ll pow(ll a,ll n,ll mod)

return ret%mod;

}ll c(ll n,ll k,ll p)

return ans;

}ll lucas(ll n,ll m,ll p)

int main()

}

HDU 5698 瞬間移動 數學

有乙個無限大的矩形,初始時你在左上角 即第一行第一列 每次你都可以選擇乙個右下方格仔,並瞬移過去 如從下圖中的紅色格仔能直接瞬移到藍色格仔 求到第n行第m列的格仔有幾種方案,答案對1000000007取模。多組測試資料。兩個整數n,m 2 n,m 100000 乙個整數表示答案 4 5數學題先打表,...

HDU 5698 瞬間移動(組合數,逆元)

x和y分開考慮,在 1,1 到 n,m 之間可以選擇走i步。就需要選i步對應的行c n 2,i 及i步對應的列c m 2,i 相乘起來。假設 m leq n sum c i cdot c i sum c i cdot c c 然後標程裡求i的階乘的逆是預處理的,主要這句 f i m m i cdot...

HDU 5698 瞬間移動 百度之星2016

傳送門 hustoj 傳送門 hdu 中文的,有圖,開源網頁吧。m行n列,每次至少往右走一步 往下走一步,所以一共往右走n 1格,往下走m 1格。所以最多走min m 1,n 1 次。往右走往下走的次數相等,所以把m 1和n 1分別拆成k個數的和。k從1取到min m 1,n 1 拆數用隔板法組合。...