3006 計算多項式的係數 II

2021-10-23 04:55:48 字數 1818 閱讀 1956

單點時限: 5.0 sec

記憶體限制: 256 mb

給定乙個多項式 (ax+by)k,計算多項式展開後 xnym 項的係數。

輸入格式

第 1 行:乙個整數 t (1≤t≤100000)為問題數。

接下來共 t 行。每行 5 個整數,分別為 a,b,k,n,m,整數之間由乙個空格分隔。

0≤k≤1,000,000,0≤n,m≤k,且 n+m=k,0≤a,b≤10^9。

輸出格式

對於每個問題,輸出一行問題的編號(0 開始編號,格式:case #0: 等)。

然後對應每個問題在一行中輸出乙個整數,表示所求的係數(這個係數可能很大,輸出對 1000000007 取模後的值)。

樣例input

31 1 3 1 2

235823 382573 999 111 888

681692776 714636914 287579 7786 279793

output

case #0:

3case #1:

939550478

case #2:

388290460

先來快速冪預處理a^b

ll binarypow

(ll a,ll b)

a=a*a%p;

b>>=1;

}return ans;

}

再來預處理二項式

由lucas定理求c(n,m):

#include

#include

#include

#include

using

namespace std;

typedef

long

long ll;

ll mulit

(ll a,ll b,ll m)

return ans;

}ll quick_mod

(ll a,ll b,ll m)

a=mulit

(a,a,m)

; b>>=1;

}return ans;

}ll comp

(ll a,ll b,ll m)

ans=ca*

quick_mod

(cb,m-

2,m)

%m;return ans;

}ll lucas

(ll a,ll b,ll m)

return ans;

}int

main()

return0;

}

但不如這樣算的快:

計算多項式係數

題目描述 給定乙個多項式 ax by k ax by k ax by k,求a nb ma nb m anbm 係數輸入格式 共一行,包含5個整數,分別為a,b,k,n,m每兩個整數之間用乙個空格隔開.輸出格式 出共1行,包含乙個整數,表示所求的係數,這個係數可能很大,輸出對1000000007取模...

python 多項式求係數 多項式係數的計算

def evalpoly lst,x total 0 for power,coeff in enumerate lst starts at 0 by default total x power coeff return total 或者,可以使用列表,然後使用sum def evalpoly lst...

計算多項式的係數

給定乙個多項式 a x by k ax by k,計算多項式展開後 xn ymx ny m項的係數。input 第 1 行 乙個整數 t 1 t 100000 為問題數。接下來共 t 行。每行 5 個整數,分別為 a,b,k,n,m,整數之間由乙個空格分隔。0 k 1,000,000,0 n,m k...