[洛谷1313] 计算系数 {杨辉三角+快速幂}

题目

https://www.luogu.org/problemnew/show/P1313


解题思路

一看题目,马上即可联想到学过的杨辉三角。对于多项式里的系数明显是杨辉三角里f[i+1][n-j+1]项,然后手推一下就知道可以用ksm来处理了。~~暴力!


代码

#include
#define ll unsigned long long
#define rr register 
#define Mod 10007
using namespace std;
int k,n,m; ll a,b,t[1010][1010]; 
void yh(){
	t[1][1]=1; 
	for (rr int i=2;i<=1001;++i) 
	 for (rr int j=1;j<=i;++j)
	  t[i][j]=(t[i-1][j-1]+t[i-1][j])%Mod; 
}
inline ll ksm(ll x,int y){
	ll ret=1; 
	for (;y;y>>=1,x=(x*x)%Mod)	if (y&1) ret=(ret*x)%Mod; 
	return ret%Mod; 
}
int main(){
	yh(); scanf("%llu%llu%d%d%d",&a,&b,&k,&n,&m);
	printf("%llu",(ksm(a,n)*ksm(b,m)*t[k+1][k-n+1])%Mod); 
}

你可能感兴趣的:(暴力(/模拟/字符串处理))