noip2011提高组——计算系数
2015-02-08 10:14
330 查看
这个题第一眼 杨辉三角。。其实还有个高大上的名字 叫。。二项式定理 我才高一QAQ 后面这个名字不知道啊
不过知道杨辉三角也够了
1 -> 1a^0*b^0
1 1 ->1a+1b
1 2 1 ->1a^2+2ab+1b^2
1 3 3 1 ->…………
…………
只不过这道题多了一个x与y项的系数
无所谓 用整体思想 将ax看成u by看成v
再用上面的公式套 (将举出的例子中的a,b 换成u,v)
表达出一个含有uv 的式子
在将uv 换成ax,by在乘方即可(好良心啊 这个居然不用快速幂)
数论什么的 再见吧 谁叫我数学学得烂
不过知道杨辉三角也够了
1 -> 1a^0*b^0
1 1 ->1a+1b
1 2 1 ->1a^2+2ab+1b^2
1 3 3 1 ->…………
…………
只不过这道题多了一个x与y项的系数
无所谓 用整体思想 将ax看成u by看成v
再用上面的公式套 (将举出的例子中的a,b 换成u,v)
表达出一个含有uv 的式子
在将uv 换成ax,by在乘方即可(好良心啊 这个居然不用快速幂)
数论什么的 再见吧 谁叫我数学学得烂
#include<iostream> #include<cstdio> #define MAXN 1000+10 #define LL long long using namespace std; LL aa[MAXN][MAXN]; LL a,b,k,n,m; LL ans; void ready() { for(int i=1;i<=k+1;i++) { for(int j=1;j<=i;j++) { if(j==1||i==j) { aa[i][j]=1; continue; } aa[i][j]=(aa[i-1][j]+aa[i-1][j-1])%10007; } } } void readdata() { scanf("%lld%lld%lld%lld%lld\n",&a,&b,&k,&n,&m); } int main() { readdata(); ready(); int cja=1; for(int i=1;i<=n;i++) cja=(cja%10007)*(a%10007)%10007; int cjb=1; for(int i=1;i<=m;i++) cjb=(cjb%10007)*(b%10007)%10007; ans=(cjb*cja)%10007; ans=(ans*aa[k+1][n+1])%10007; printf("%d\n",ans); }
相关文章推荐
- noip 2011 提高组 计算系数
- NOIP 2011 提高组 复赛 day2 factor 计算系数
- rqnoj[NOIP2011提高组]计算系数
- Noip2011 提高组 Day1 T1 铺地毯 + Day2 T1 计算系数
- 【递推】【NOIP2011提高组】计算系数
- NOIP2011复赛提高组day2(A:计算系数 B:聪明的质监员 C:观光公交)
- 计算系数(NOIP2011提高组Day2T1)
- 洛谷P1313 [NOIP2011提高组Day2T1]计算系数
- NOIP 2011 提高组 计算系数
- [NOIP2011提高组day2]-1-计算系数
- 【NOIP2011】计算系数
- [NOIP2011] 洛谷P1313 计算系数
- NOIp2011 计算系数
- NOIP2011 计算系数
- NOIP2011 计算系数
- [NOIP 2011]计算系数 乘法逆元+扩展欧几里得
- noip2011 计算系数
- noip2011 计算系数
- noip2011 计算系数 (幂方取模+组合数取模)
- 【NOIP2011】洛谷1313 计算系数