洛谷 P1313 計算係數

2022-03-19 08:34:49 字數 984 閱讀 1446

這道題只要肯動手還是挺水的

我們先列舉幾個找找規律(這裡先省略x,y):

k = 0 :\(1\)

k = 1 : \(a\)

\(b\)

k = 2 : \(a^\)

\(2ab\)

\(b^\)

k = 3 : \(a^\)

\(3a^b\)

\(3ab^\)

\(b^\)

去掉\(a\)和\(b\),就能發現他就是個楊輝三角,那我們就可以先預處理好楊輝三角(也可以打表)

我們繼續觀察,楊輝三角上是要乘上\(a\)和\(b\)的,現在我們就要找該怎麼乘了;觀察次數,\(a\)的次數是\(n\)的大小,\(b\)也是\(m\)的大小,那麼就可以先把\(a\),\(b\)乘方後的數乘到他們對應的楊輝三角的數;至於乘方,我用的快速冪,其實爆乘應該也可以,看喜好吧,只要每次都\(%\)去哪個規定的數就行了(沒試過鴨)

說了這麼多,我們還沒確定他們的位置,觀察,由於楊輝三角的第一排其實不為\(1\),所以對應的行數也就是\(k+1\)了,在確定列,可以發現,其實就是\(m+1\);現在,就做出來啦

接下來就是蒟蒻的**啦!

#include using namespace std;

long long a/*x*/ , b/*y*/ , k , m/*y*/ , n/*x*/ , mo = 10007 , ans; //標記好對應的字母,以防帶錯值了

long long ret = 1; //快速冪的答案

long long f[10011][10011]; //楊輝三角

int main()

ans *= ret % mo;

ret = 1; //上乙個用完就要初始化了

while(m)

ans *= ret % mo;

cout << ans % mo;

return 0;

}

就這麼多啦,溜了溜了

洛谷 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 取...