给定一个多项式 (ax + by)k 。
输入a,b,k,n,m。
请求出多项式展开后 xnym 项的系数。
【数据范围】
对于 30%的数据,有 0≤k≤10;
对于 50%的数据,有 a = 1,b = 1;
对于 100%的数据,有 0≤k≤1,000,0≤n, m≤k,且 n + m = k,0≤a,b≤1,000,000。
1 const 2 maxn=1000; 3 md=10007; 4 var 5 f:array[0..maxn,0..maxn] of longint; 6 a,b,n,k,m,s,i,j:longint; 7 begin 8 assign(input,‘factor.in‘); reset(input); 9 assign(output,‘factor.out‘); rewrite(output); 10 readln(a,b,k,n,m); 11 a:=a mod md; 12 b:=b mod md; 13 f[0,0]:=1; 14 for i:=1 to k do begin f[i,0]:=1; f[i,i]:=1; end; 15 for i:=2 to k do 16 for j:=1 to i-1 do f[i,j]:=(f[i-1,j]+f[i-1,j-1])mod md; 17 s:=1; 18 for i:=1 to n do s:=(s*a)mod md; 19 for i:=1 to m do s:=(s*b)mod md; 20 writeln((f[k,n]*s)mod md); 21 end.
计算系数(NOIP2011 day2),布布扣,bubuko.com
原文:http://www.cnblogs.com/ssfzzzc/p/3797694.html