洛谷 P1313 計算係數 解題報告

2022-04-30 05:48:10 字數 733 閱讀 2223

給定乙個多項式\((by+ax)^k\),請求出多項式展開後\(x^n*y^m\)項的係數。

共一行,包含5個整數,分別為\(a,b,k,n,m\),每兩個整數之間用乙個空格隔開。

共1 行,包含乙個整數,表示所求的係數,這個係數可能很大,輸出對10007 取模後的結果。

思路:由二項式定理得,結果為\(c_k^m*a^n*b^m \ mod \ 10007\)

因為10007是質數,所以我們可以用費馬小定理求出階乘逆元再直接求出\(c_k^m\),\(a,b\)則線性乘過去即可。

code:

#include #define ll long long

const ll mod=10007;

ll inv[2],a,b,k,n,m,ans=1,fac=1;

ll quick_pow(ll d,ll t)

return f;

}void init()

for(int i=1;i<=m;i++)

for(int i=1;i<=k;i++)

fac=fac*i%mod;

inv[0]=quick_pow(inv[0],mod-2);

inv[1]=quick_pow(inv[1],mod-2);

}void work()

int main()

2018.7.4

洛谷 P1313 計算係數

題目描述 給定乙個多項式 by ax k,請求出多項式展開後x n y m 項的係數。輸入輸出格式 輸入格式 輸入檔名為factor.in。共一行,包含5 個整數,分別為 a b k n m,每兩個整數之間用乙個空格隔開。輸出格式 輸出共1 行,包含乙個整數,表示所求的係數,這個係數可能很大,輸出對...

洛谷 P1313 計算係數

題目描述 給定乙個多項式 by ax k,請求出多項式展開後x n y m 項的係數。輸入輸出格式 輸入格式 輸入檔名為factor.in。共一行,包含5 個整數,分別為 a b k n m,每兩個整數之間用乙個空格隔開。輸出格式 輸出共1 行,包含乙個整數,表示所求的係數,這個係數可能很大,輸出對...

洛谷 P1313 計算係數

題目描述 給定乙個多項式 by ax k,請求出多項式展開後x n y m 項的係數。輸入格式 輸入檔名為factor.in。共一行,包含5 個整數,分別為 a b k n m,每兩個整數之間用乙個空格隔開。輸出格式 輸出共1 行,包含乙個整數,表示所求的係數,這個係數可能很大,輸出對10007 取...