1計算係數
給定乙個多項式 (ax + by)k ,請求出多項式展開後 x
n y
m 項的係數。
【輸入】
輸入檔名為 factor.in。
共一行,包含 5 個整數,分別為 a,b,k,n,m,每兩個整數之間用乙個空格隔開。
【輸出】
輸出檔名為 factor.out。
輸出共 1 行,包含乙個整數,表示所求的係數,這個係數可能很大,輸出對10007取 模後的結果。
【輸入輸出樣例】
factor.in
factor.out
1 1 3 1 2
【資料範圍】
對於 30%的資料,有 0≤k≤10; 對於 50%的資料,有 a = 1,b = 1;
對於 100%的資料,有 0≤k≤1,000,0≤n, m≤k,且 n + m = k,0≤a,b≤1,000,000。
【思路】
本題考查計算組合公式。可以知道答案就是c[k][m]*a^n*b^m。
有兩種遞迴方式:
一種計算第n行,c[i]=c[i-1]*(k-i+1)/i 但實踐得知這種遞推的方式不能用模運算。
一種計算是把表全部遞推出來 c[k][i]=c[k-1][i]+c[k-1][i-1];這種方法可以用模且時間足夠。
【**】
1 #include2using
namespace
std;
3const
int mod= 10007;4
long
long c[1001][1001];5
inta,b,k,n,m;
6int
main()
12long
long res=1;13
for(int i=1;i<=n;i++) res=(res*a)%mod; //
a^n14
for(int i=1;i<=m;i++) res=(res*b)%mod; //
b^m15 res=(res*c[k][m])%mod;
16 cout<17return0;
18 }
NOIP 2011 計算係數
題目描述 給定乙個多項式 by ax k,請求出多項式展開後x n y m 項的係數。輸入輸出格式 輸入格式 輸入檔名為factor.in。共一行,包含5 個整數,分別為 a b k n m,每兩個整數之間用乙個空格隔開。輸出格式 輸出共1 行,包含乙個整數,表示所求的係數,這個係數可能很大,輸出對...
NOIp2011 計算係數
描述 給定乙個多項式 ax by k,請求出多項式展開後x ny m項的係數。輸入共一行,包含 5 個整數,分別為a,b,k,n,m,每兩個整數之間用乙個空格隔開。輸出輸出共 1 行,包含乙個整數,表示所求的係數,這個係數可能很大,輸出對10007 取模後的結果。樣例輸入 1 1 3 1 2樣例輸出...
NOIP2011計算係數
題目分析 相信看到這道題的時候,大家都有那麼一絲絲的莫名的心慌 可憐的大家 作為第一題,他為什麼不做好自己送分的職責,反而又要注意去模,又要注意long long。相信只要略微有一點數學底子的同學知道,這其實就是楊輝三角 或組合數 對乙個oier用dp的思想就可以解決了。不知道楊輝三角的,你dp怎麼...