這道題只要肯動手還是挺水的
我們先列舉幾個找找規律(這裡先省略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 取...