暑假集训(4)第三弹 -----递推(Hdu1799)

问题描述:还记得正在努力脱团的小A吗?在他绘制贤者法阵时,他曾经最亲密的战友,暗中设下鬼打墙将小A围困,并准备破坏

小A正在绘制的法阵。小A非常着急。想阻止他的行动。而要阻止他,必须先破解鬼打墙。

哎,你不得不再次帮助他,告诉他在鬼打墙内应该走多少步。才能打破所有for循环。

问题分析:可以利用杨辉三角:1

1    1

1     2    1

1     3     3    1

1     4     6    4   1

........

1    a[i-1][j]+a[i-1][j] ...............1

先打表,应该不会超时了。

 1 #include "cstdio"
 2 __int64 a[2004][2004];
 3 void abegin()
 4 {
 5     for (int i=0;i<=2003;i++)
 6       for (int j=0;j<=2003;j++)
 7          a[i][j] = 0;
 8     for (int i=1;i<=2003;i++)
 9     {
10       a[i][i] = 1;
11       if (i != 1)
12        for (int j=1;j<=i;j++)
13          a[i][j] = (a[i-1][j] +a[i-1][j-1])%1007;
14     }
15 }
16 int main()
17 {
18     int t,n,m;
19     scanf ("%d",&t);
20     abegin();
21     while (t-- && scanf ("%d%d",&m,&n))
22     {
23           printf ("%d\n",a[n+1][m+1]);
24     }
25     return 0;
26 }

时间: 2024-10-15 17:54:31

暑假集训(4)第三弹 -----递推(Hdu1799)的相关文章

暑假集训(2)第三弹 ----- 食物链(poj1182)

C - 食物链 Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%lld & %llu Description 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A. 现有N个动物,以1-N编号.每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种. 有人用两种说法对这N个动物所构成的食物链关

暑假集训(1)第三弹 -----Dungeon Master(Poj2251)

Description You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of unit cubes which may or may not be filled with rock. It takes one minute to move one unit north, south, east, west, up or down. You cannot m

暑假集训(2)第五弹 ----- Who&#39;s in the Middle(poj2388)

G - Who's in the Middle Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Description FJ is surveying his herd to find the most average cow. He wants to know how much milk this 'median

暑假集训(4)第二弹 -----递推(hdu2254)

题意概括:上次小A在你的帮助下成功把贤者法阵的第一部分——三角分隔,现在他准备绘制法阵的第二部分——莫测矩形. 而他又遇到了一个问题,他不知道不同矩形到底有多少个. 秉持帮人帮到底,送佛送到西的基本法,你需要告诉他不同矩形的个数. 问题分析:假如矩形长度为1,宽度为m,则可构成矩形个数为m+m-1+.......+1,即m*(m+1)/2,如果长度为n那么只需再 乘以n*(n+1)/2; 得到公式 s=n*m*(n+1)*(m+1)/4. 1 #include "cstdio" 2 i

暑假集训(4)第一弹 -----递推(Hdu2039)

题意梗概:fff团团员小A想退团了,不过要退团,他必须绘制出贤者法阵,以证明他有资格不受大fff之灵的监督 并退团,小A他现在要开始收集材料了,但是,他不清楚应该买多少份材料. 虽然你并不想帮他退团,但为了社会主义核心价值观观建设,你要告诉他需要买多少份材料,即N个三角形最多可 以把一个平面分成几个区域,就需要买几份材料. 问题分析:一个三角形时显然只能有2份,此时图形有3个顶点,即第二个三角形与第一个三角形最多只能有6个交 点,则有2+6 = 8份,由此类推得公式为 3*n*(n-1)+2.

暑假集训(2)第七弹 -----今年暑假不AC(hdu2037)

J - 今年暑假不AC Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Description “今年暑假不AC?” “是的.” “那你干什么呢?” “看世界杯呀,笨蛋!” “@#$%^&*%...” 确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了. 作为球迷,一定想看尽量

暑假集训(4)第六弹——— 组合(poj1067)

题意概括:上一次,你成功甩掉了fff机械兵.不过,你们也浪费了相当多的时间.fff团已经将你们团团包围,并且逐步 逼近你们的所在地.面对如此危机,你不由得悲观地想:难道这acm之路就要从此中断?虽然走上这条路不过数日,好 歹你也帮助过许多生物脱离困境啊.怎么就好人......等等,你翻了翻包裹,拿出了一个颇为古旧的黄铜瓶,瓶口用锡 纸封着,这瓶子是上次那只青蛙送的,它说危难之际,打开瓶口便可解围.“娑殚之瓶!“,谁知刚拿出瓶子,就听到小A 惊讶的呼声,“它也许能帮我们脱离困境,不过恐怕会有些危险

暑假训练-藏妹子之处(递推)

[题目描述]: 今天CZY又找到了三个妹子,有着收藏爱好的他想要找三个地方将妹子们藏起来,将一片空地抽象成一个R行C列的表格,CZY要选出3个单元格.但要满足如下的两个条件: 任意两个单元格都不在同一行. 任意两个单元格都不在同一列. 选取格子存在一个花费,而这个花费是三个格子两两之间曼哈顿距离的和(如(x1,y1)和(x,y2)的曼哈顿距离为|x1-x2|+|y1-y2|).狗狗想知道的是,花费在minT到maxT之间的方案数有多少. 答案模1000000007.所谓的两种不同方案是指:只要它

暑假集训(1)第七弹 -----Oil Deposits(Poj1562)

Description The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSurvComp works with one large rectangular region of land at a time, and creates a grid that divides the land into numerous square plots. It