【问题描述】
由二项式定理可知(x+y)^n=C(n,1)*x^1*y^n+C(n,2)*x^2*y^(n-1)+…+C(1,n)*x^n*y+x^k+y^k。(其中x,y为实数,C(x,y)代表从有x个元素的集合中选择含有y个元素的组合的组合数。)
将上式中x,y换成ax,by,得到x^ny^m的系数是a^nb^m*C(k,n)。
C(k,n)可以用递推得到(当然也可以写数学公式,只是不好取模)。
设d[i][j]为C(i,j) d[i][j]=d[i-1][j-1]选+d[i-1][j]不选.
a^n,b^m直接二分快速幂就行了。(也可以暴力)
#include<cstdio>
#include<iostream>
#include<queue>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<vector>
#define mo 10007
using namespace std;
typedef long long