lyq市有乙個巨大的水溝網路,可以近似看成乙個n*m的矩形網格,網格的每個格點都安裝了閘門,我們將從水溝網路右下角的閘門到左上角的閘門的一條路徑稱為水流。
現給定水溝網的長和寬,求該水溝網中所有只包含向左和向上移動的水流數量。
輸入共1行,包含兩個整數n和m。
輸出乙個數字ans,即水流的數量。由於答案可能很大,請輸出答案對1000000007取模的結果。
由題意推理得:
c n+
mn=(
n+m)
!n!m
!c^_=\frac
cn+mn
=n!m
!(n+
m)!
但是我們看一下資料範圍:n,m
<
=1000000
n,m<=1000000
n,m<=1
0000
00媽呀,這樣咋除呀。
這個時候我們就要引入乙個東東:
說白了乙個數的乘法逆元就是他的倒數。。。
ans:可以再弄個費馬小定理後用快速冪迅速解決。
就比如說39=
38∗3
=322
∗3∗3
43^9=3^8*3=^2*3*3^4
39=38∗
3=32
2∗3∗
34那麼主要思路就出來了:把推出的那個cn+
mn=(
n+m)
!n!m
!c^_=\frac
cn+mn
=n!m
!(n+
m)!
的除號下面的部分轉換為他的逆元,通過費馬小定理寫出冪的形式,然後用快速冪迅速求出。
#includeconst int mod=1000000007;
long long f(long long n) //計算一波階乘
long long pow(long long n,long long p)//快速冪
long long inv(long long x)
int main()
求關注 洛谷P2265 路邊的水溝
lyq市有乙個巨大的水溝網路,可以近似看成乙個n m的矩形網格,網格的每個格點都安裝了閘門,我們將從水溝網路右下角的閘門到左上角的閘門的一條路徑稱為水流。現給定水溝網的長和寬,求該水溝網中所有只包含向左和向上移動的水流數量。輸入共1行,包含兩個整數n和m。輸出乙個數字ans,即水流的數量。由於答案可...
洛谷P2265 路邊的水溝
lyq市有乙個巨大的水溝網路,可以近似看成乙個n m的矩形網格,網格的每個格點都安裝了閘門,我們將從水溝網路右下角的閘門到左上角的閘門的一條路徑稱為水流。現給定水溝網的長和寬,求該水溝網中所有只包含向左和向上移動的水流數量。輸入共1行,包含兩個整數n和m。輸出乙個數字ans,即水流的數量。由於答案可...
洛谷P2265 路邊的水溝
lyq市有乙個巨大的水溝網路,可以近似看成乙個n m的矩形網格,網格的每個格點都安裝了閘門,我們將從水溝網路右下角的閘門到左上角的閘門的一條路徑稱為水流。現給定水溝網的長和寬,求該水溝網中所有只包含向左和向上移動的水流數量。輸入共1行,包含兩個整數n和m。輸出乙個數字ans,即水流的數量。由於答案可...