noip 2011 提高組 計算係數

2021-08-06 06:22:05 字數 908 閱讀 8475

給定乙個多項式(ax + by)^k,請求出多項式展開後(x^n)*(y^m)項的係數。(保證n+m==k)
共一行,包含 5 個整數,分別為a,b,k,n,m,每兩個整數之間用乙個空格隔開。
輸出共 1 行,包含乙個整數,表示所求的係數,這個係數可能很大,輸出對10007 取模後的結果。
輸入:1 1 3 1 2

輸出:3

我們來看幾組簡單資料:

(a*x+b*y)^2=(a*x)^2+2*a*b*x*y+(b*y)^2

(a*x+b*y)^3=(a*x)^3+3*(a^2)*b*(x^2)*y+3*a*(b^2)*x*(y^2)+(b*y)^3

(a*x+b*y)^4=(a*x)^4+4*(a^3)*b*(x^3)*y+6*(a^2)*(b^2)*(x^2)*(y^2)+4*a*(b^3)*x*(y^3)+(b*y)^3

易得(x^n)*(y^m)的係數(答案)為k*(a^n)*(b^m),而k值有以下規律:

1 2 1

1 3 3 1

1 4 6 4 1

......

由此可見,這是乙個楊輝三角(dalao都用組合數),

因為(a^n)*(b^m)是可以算的(直接迴圈,邊乘邊取餘或者快速冪計算)

因此,在構造的楊輝三角中找到對應係數 k,再計算出(a^n)*(b^m),即可得到答案。

#include

long long h[1010][1010],k,a,b,n,m;

int tpow(int

x,int p)

return ans;

}int main()

noip2011提高組 計算係數

這個題第一眼 楊輝三角。其實還有個高大上的名字 叫。二項式定理 我才高一qaq 後面這個名字不知道啊 不過知道楊輝三角也夠了 1 1a 0 b 0 1 1 1a 1b 1 2 1 1a 2 2ab 1b 2 1 3 3 1 只不過這道題多了乙個x與y項的係數 無所謂 用整體思想 將ax看成u by看...

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 行,包含乙個整數,表示所求的係數,這個係數可能很大,輸出對...