暑假集训(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 int main()
 3 {
 4     int n,m,t;
 5     scanf ("%d",&t);
 6     while (t-- && scanf ("%d%d",&n,&m))
 7     {
 8         printf ("%d\n",m*n*(m+1)*(n+1)/4);
 9     }
10     return 0;
11 }

时间: 2024-10-08 07:35:53

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

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

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

暑假集训(2)第二弹 ----- The Suspects(POJ1611)

B - The Suspects Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:20000KB     64bit IO Format:%lld & %llu Description 严重急性呼吸系统综合症( SARS), 一种原因不明的非典型性肺炎,从2003年3月中旬开始被认为是全球威胁.为了减少传播给别人的机会, 最好的策略是隔离可能的患者. 在Not-Spreading-Your-Sic

暑假集训(5)第二弹———湫湫系列故事——减肥记I(hdu4508)

问题描述:舔了舔嘴上的油渍,你陷在身后柔软的靠椅上.在德源大赛中获得优胜的你,迫不及待地赶到“吃到饱”饭店吃到饱.当你 正准备离开时,服务员叫住了你,“先生,您还没有吃完你所点的酒菜.”指着你桌上的一片狼藉,不过仍有很多残余“军力”的景象.你刚刚还红光满面的脸一下变成霜打的茄子.看着桌上仍留的美食,正犯愁.“我可以帮你解决它.”你看向旁边,发现她也便是德源大赛 的参赛者啾啾.还没来得及说谢谢.她便提出了条件,给出食物所含能量.幸福度以及摄入最大能量限制,如何在不超过最大能量限制的 情况下获得最大

暑假集训(5)第一弹——— Super Jumping! Jumping! Jumping!(hdu1087)

题意概括:在上次与娑殚的三次博弈中,你们都取得了胜利.便向娑殚提出要求,借助他的力量,传送到一个安全的地方. 你们的愿望达成了,不过,你和小A似乎失散了. 街上人来人往的特别热闹,每一个人的脸上都洋溢着幸福.“咕咕......"额,掏了掏身上的口袋,除你之外. “听说了嘛,德源街哪有个脑力比赛,据说优胜者可以去”吃到饱“饭店吃到饱,而且前三名还会有神秘奖品......" 这次,为了填饱......嗯,为了生存,你决定参加这个比赛,比赛要求你得到在给定的数字中得到最大循序上升序列和. 问

暑假集训(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]

hdu 2604 Queuing(dp递推)

昨晚搞的第二道矩阵快速幂,一开始我还想直接套个矩阵上去(原谅哥模板题做多了),后来看清楚题意后觉得有点像之前做的数位dp的水题,于是就用数位dp的方法去分析,推了好一会总算推出它的递推关系式了(还是菜鸟,对dp还是很不熟练): dp[i][0/1]表示以0/1开头的不含101且不含111的i位数(用1来表示f,0表示m,看着方便点),然后,状态转移方程是: dp[i][0]=dp[i-1][0]+dp[i-1][1]; //以0开头的话后面接什么数都不成问题 dp[i][1]=dp[i-2][0

Benelux Algorithm Programming Contest 2014 Final ACM-ICPC Asia Training League 暑假第一阶段第二场 E. Excellent Engineers-单点更新、区间最值-线段树 G. Growling Gears I. Interesting Integers-类似斐波那契数列-递推思维题

先写这几道题,比赛的时候有事就只签了个到. E. Excellent Engineers 传送门: 这个题的意思就是如果一个人的r1,r2,r3中的某一个比已存在的人中的小,就把这个人添加到名单中. 因为是3个变量,所以按其中一个变量进行sort排序,然后,剩下的两个变量,一个当位置pos,一个当值val,通过线段树的单点更新和区间最值操作,就可以把名单确定. 代码: 1 //E-线段树 2 #include<iostream> 3 #include<cstdio> 4 #incl

暑假集训(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

CSU-ACM2014暑假集训基础组训练赛(1) 解题报告

•Problem A HDU 4450                 水题,签到题 水题..没啥好说的.给大家签到用的. 1 #include <cstdio> 2 int main(){ 3 int n,a,ans; 4 while(scanf("%d",&n),n){ 5 ans = 0; 6 for(int i = 0;i < n;i++){ 7 scanf("%d",&a); 8 ans += a*a; 9 } 10 pr