單點時限: 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...