HDU 5698 瞬間移動 百度之星2016

2021-07-15 08:29:43 字數 971 閱讀 6343

傳送門: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)。拆數用隔板法組合。求出走k次的方法數,然後加起來就可以了。

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

const

int maxn = 100007;

const

int oo = 2000000007;

const

long

long

int loo = 1000000000000000007ll;

const

int mod = 1000000007;

typedef

long

double ld;

typedef

long

long ll;

ll fact [ maxn ];

ll f [ maxn ];

ll inv [ maxn ];

ll cmod ( ll a , ll b )

int main ( )

while ( scanf ( "%d%d" , &n , &m ) == 2 )

printf ( "%i64d\n" , res );

}return

0;}

hdu 5698 瞬間移動

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

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