计算系数 (codevs 1137) 题解
来源:互联网 发布:西安高新广电网络 编辑:程序博客网 时间:2024/05/23 13:31
【问题描述】杨辉三角形
给定一个多项式(ax + by)^k,给定a、b、k、n、m,请求出多项式展开后x^n y^m项的系数。
【样例输入】
1 1 3 1 2
【样例输出】
3
【解题思路】
本题为NOIP2011 提高组第一题,看到这玩意我懵了,本人初三狗,完全不会做啊……在老师的指导下终于觉悟,这玩意为二项式定理,其实就是求杨辉三角形的第k行,第n项,在老师推完之后还发现了,其实就是求C(k,m),C为组合数公式,我两种方法都试了,但似乎组合数取模与一半的不一样,于是WA了,顺便求一下哪位神犇看到了请指教一下……这里贴杨辉三角形的代码。求了这个以后,再乘上a^n*b^m即可,注意:a^n与b^m都要边乘边取模,杨辉三角形建立的时候也要取模,最后三者相乘还要取模……
【代码实现】
1 var f:array[0..1001,0..1001] of longint; 2 a,b,m,n,k,i,j:longint; 3 function fac(a,b:int64):int64; 4 var t:int64; 5 y:longint; 6 begin 7 t:=1; 8 for y:=1 to b do 9 t:=(t*a) mod 10007;//幂运算,注意乘一次就要取一次模10 exit(t);11 end;12 begin13 readln(a,b,k,n,m);14 for i:=0 to k do15 f[i,0]:=1;16 for i:=1 to k do17 for j:=1 to k do18 f[i,j]:=(f[i-1,j]+f[i-1,j-1])mod 10007;//建立杨辉三角形,注意取模19 if k=0 then writeln(1)20 else21 writeln((f[k,n]*(fac(a,n)mod 10007)*(fac(b,m)mod 10007))mod 10007);//最后再取模22 end.
0 0
- 计算系数 (codevs 1137) 题解
- CODEVS 1137 计算系数
- codevs 1137||NOIP 2011 计算系数 二项式定理 解题报告
- Codevs 1137 计算系数 2011年NOIP全国联赛提高组
- NOIP2011 计算系数 题解(超详细)
- 1137 计算系数
- Code Vs 1137 计算系数
- 【基础练习】【组合数+快速幂】codevs1137 计算系数题解
- 计算系数
- 计算系数
- 计算系数
- 计算系数
- 计算系数
- 计算系数
- 危险系数题解
- 【组合】NOIP2011计算系数
- 计算二项式系数
- Wikioi P1137 计算系数
- 最小伤害 题解
- 全排列 (codevs 1294)题解
- 乌龟棋 (codevs 1068)题解
- 2016.01.08-2016.01.09回顾
- 一元三次方程 (codevs 1038)题解
- 计算系数 (codevs 1137) 题解
- 奇怪的函数 (codevs 3538/1696) 题解
- 射击比赛 (POJ 1719) 题解
- 棋盘覆盖问题 题解
- 雷达装置 (POJ 1328/ codevs 2625)题解
- 种树 (codevs 1653) 题解
- 区间覆盖问题 题解
- 区间 (vijos 1439) 题解
- 生理周期 (poj 1006) 题解