描述:
給定乙個多項式(ax + by)^k,請求出多項式展開後x^n * y^m項的係數。
輸入:
共一行,包含5個整數,分別為a,b,k,n,m,每兩個整數之間用乙個空格隔開。
輸出:
輸出共1行,包含乙個整數,表示所求的係數,這個係數可能很大,輸出對10007取模後的結果。
題解:
可以簡單推一推a=1,b=1時各項按x冪級降序排列時的係數規律為楊輝三角。再加上a、b係數推一推,發現第i項係數=楊輝三角對應位數字*b的(m-1)次冪*a的(k-n+1)次冪。這題窩用了滾動陣列節省記憶體,快速冪優化時間。輸出直接printf陣列第m-1項就ok啦。
#include
#include
using
namespace
std;
int a,b,k,n,m;
long
long la[2][10000010];
const
int mod=10007;
long
long
pow(long
long a,int b)
return t;
}int main()
la[cnt^1][len]=1;
cnt^=1;
}cnt^=1;
for(int i=0;i1;i++)
printf("%lld",la[cnt][m+1]);
return
0;}
NOIP2011 計算係數
1計算係數 給定乙個多項式 ax by k 請求出多項式展開後 x n y m 項的係數。輸入 輸入檔名為 factor.in。共一行,包含 5 個整數,分別為 a,b,k,n,m,每兩個整數之間用乙個空格隔開。輸出 輸出檔名為 factor.out。輸出共 1 行,包含乙個整數,表示所求的係數,這...
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樣例輸出...