题解:本题主要考查数论。
简要题意:一个多项式(bx+ay)
k
^k
k,请求展开后x
n
×
y
m
^n\times y^m
n×ym的系数。
1.数论:我们可以用杨辉三角求系数。以(2x+3y)
4
^4
4为例:
杨辉三角中:1 4 6 4 1
计算得出: 16 96 216 216 81
易看出
2
4
2^4
24=16,
4
∗
2
3
∗
3
1
=
96
4*2^3*3^1=96
4∗23∗31=96,
6
∗
2
2
∗
3
2
=
216
6*2^2*3^2=216
6∗22∗32=216,
4
∗
2
1
∗
3
3
=
216
4*2^1*3^3=216
4∗21∗33=216,
3
4
=
81
3^4=81
34=81
得出结论:
(
b
x
+
a
y
)
k
(bx+ay)^k
(bx+ay)k中
x
n
×
y
m
x^n\times y^m
xn×ym的系数为
C
(
k
,
n
)
∗
b
n
∗
a
m
C(k,n)*b^n*a^m
C(k,n)∗bn∗am
代码如下:
#include<iostream>
using namespace std;
long long a,b,k,m,n,x,p,ans;
int c[3285][4345];
int times(int p,int q)
{
if(q==0)return 1;
long long answer=1;
for(int i=1;i<=q;i++){answer*=p;answer%=10007;}
return answer;
};
int main()
{
cin>>b>>a>>k>>n>>m;
c[0][0]=1;
for(int i=1;i<=k;i++)c[i][0]=c[i][i]=1;
for(int i=1;i<=k;i++)
for(int j=1;j<i;j++)
c[i][j]=(c[i-1][j]+c[i-1][j-1])%10007;
ans=c[k][m]*(times(a,m)*times(b,n)%10007)%10007;
cout<<ans<<endl;
return 0;
}