NOIP2016全国信息学分区联赛提高组第二试 组合问题
2016-11-28 16:57
399 查看
分析:
组合数可以用杨辉三角形,然后就可以算杨辉三角求解了。
(范围一定要看好)。
代码:
var sum,f:array [0..2000,0..2000] of longint; x,y:array [0..20000] of longint; i,j,n,m,k,t:longint; function min(x,y:longint):longint; begin if x<y then exit(x) else exit(y); end; function max(x,y:longint):longint; begin if x>y then exit(x) else exit(y); end; begin readln(t,k); for i:=1 to t do begin read(x[i],y[i]); n:=max(n,x[i]); m:=max(m,y[i]); end; f[1,0]:=1; f[1,1]:=1; for i:=2 to n do begin f[i,0]:=1; for j:=1 to m do begin f[i,j]:=(f[i-1,j]+f[i-1,j-1]) mod k; if (f[i,j]=0) and (j<=i) then sum[i,j]:=1; sum[i,j]:=sum[i-1,j]+sum[i,j]+sum[i,j-1]-sum[i-1,j-1]; end; end; for i:=1 to t do writeln(sum[x[i],y[i]]); end.
相关文章推荐
- NOIP2016全国信息学分区联赛提高组第二试 蚯蚓 ssl 2599 队列
- NOIP2016全国信息学分区联赛提高组第二试 蚯蚓
- NOIP2016全国信息学分区联赛提高组第二试 蚯蚓
- NOIP2016全国信息学分区联赛提高组第二试 组合问题
- NOIP2016全国信息学分区普级组初赛答案
- 全国信息学奥林匹克联赛(NOIP2010)复赛 2.接水问题 解题报告
- 全国信息学奥林匹克联赛(NOIP2011)复赛 提高组 day2 T2 聪明的质监员
- 进制转换 2000年NOIP全国联赛提高组
- wikioi 1014 装箱问题 (2001年NOIP全国联赛普及组)
- wikioi 1068 乌龟棋 (2010年NOIP全国联赛提高组)
- 聪明的质监员 2011年NOIP全国联赛提高组
- codevs 1105 过河 2005年NOIP全国联赛提高组 题解(缩点方法详解)
- 加分二叉树 2003年NOIP全国联赛提高组
- 1134 铺地毯【2011年NOIP全国联赛提高组】
- 全国信息学奥林匹克联赛(NOIP2010)复赛 题目
- 火柴排队 2013年NOIP全国联赛提高组
- 借教室 2012年NOIP全国联赛提高组
- wikioi 1017 乘积最大 (2000年NOIP全国联赛普及组NOIP全国联赛提高组)
- wikioi 1098 均分纸牌 (2002年NOIP全国联赛提高组)
- wikioi 1169 传纸条 (2008年NOIP全国联赛提高组)