正题
评测链接:https://www.luogu.org/recordnew/lists?uid=52918&pid=P1313
题目大意
求(ax+by)k(ax+by)k,求多项式展开后xnymxnym项的系数,答案mod 10007mod10007。
解题思路
二项式定理
(ax+by)k=∑i=0kCikaibk−ixiyi(ax+by)k=∑i=0kCkiaibk−ixiyi
xnymxnym项的系数为 CnkanbmCknanbm
然后用快速幂计算C就好了
解题思路
// luogu-judger-enable-o2
#include<cstdio>
#define YMW 10007
using namespace std;
int a,b,k,n,m,ans=1,sum=1,sum1=1,sum2=1;
int power(int x,int b)//快速幂
{x%=YMW;int sum=1;while(b){if(b&1) sum=sum*x%YMW;x=x*x%YMW;b>>=1;}return sum;
}
int main()
{scanf("%d%d%d%d%d",&a,&b,&k,&n,&m);a=power(a,n);b=power(b,m);ans=a*b%YMW;for(int i=2;i<=n;i++)sum1=sum1*i%YMW;for(int i=2;i<=k-n;i++)sum=sum*i%YMW;for(int i=2;i<=k;i++)sum2=sum2*i%YMW;ans=ans%YMW*sum2%YMW*power(sum1,YMW-2)%YMW*power(sum,YMW-2)%YMW;printf("%d",ans);
}