CSU - 1022 菜鸟和大牛

DP简单题,以前用for循环写过,这次用状态递归写。感觉确实思路比以往清晰许多。

 1 #include<stdio.h>
 2 #include<string.h>
 3 const int maxm=500+5,maxn=1000+5;
 4 int d[maxm][maxn],a[maxm][maxn],n;
 5 int trimax(int x,int y,int z)
 6 {
 7     int maxnum=x;
 8     if(maxnum<y)
 9         maxnum=y;
10     if(maxnum<z)
11         maxnum=z;
12     return maxnum;
13 }
14 int dp(int i,int j);
15 int main()
16 {
17     int t;
18     scanf("%d",&t);
19     while(t--){
20         scanf("%d",&n);
21         for(int i=1;i<=n;i++)
22         for(int j=1;j<=2*i-1;j++)
23         scanf("%d",&a[i][j]);
24         memset(d,-1,sizeof(d));
25         int ans=dp(1,1);
26         printf("%d\n",ans);
27     }
28     return 0;
29 }
30 int dp(int i,int j)
31 {
32     if(d[i][j]>=0)
33         return d[i][j];
34     if(i==n)
35         return d[i][j]=a[i][j];
36     return d[i][j]=a[i][j]+trimax(dp(i+1,j),dp(i+1,j+1),dp(i+1,j+2));
37 }

CSU - 1022 菜鸟和大牛

时间: 2024-08-13 02:15:13

CSU - 1022 菜鸟和大牛的相关文章

菜鸟,大牛和教主,三者的区别(转载,有种莫名的喜感。。。)

对菜鸟来说题目有三种:会算法且能AC的,会算法但不能AC的,不会做的 对大牛来说题目有两种:会做的,不会做的 对教主来说题目有两种:能AC的,数据有错的 菜鸟提交WA了,找了N久找不出错时,在论坛大骂数据有错,但是没人理 大牛提交WA了,找了N久找不出错时,写暴力程序或者求别人的AC程序对拍 教主提交WA了,Judge马上修正数据 菜鸟面对一道难题,直接暴搜 大牛面对一道难题,算了算时间复杂度不对,或者证明出是NP难,果断放弃 教主面对一道难题,说,虽然我不会做,但AC还是没有问题的 菜鸟AC了

菜鸟,大牛和教主三者的区别(转自hzwer)

菜鸟,大牛和教主,三者的区别 对菜鸟来说题目有三种:会算法且能AC的,会算法但不能AC的,不会做的 对大牛来说题目有两种:会做的,不会做的 对教主来说题目有两种:能AC的,数据有错的 菜鸟提交WA了,找了N久找不出错时,在论坛大骂数据有错,但是没人理 大牛提交WA了,找了N久找不出错时,写暴力程序或者求别人的AC程序对拍 教主提交WA了,Judge马上修正数据 菜鸟面对一道难题,直接暴搜 大牛面对一道难题,算了算时间复杂度不对,或者证明出是NP难,果断放弃 教主面对一道难题,说,虽然我不会做,但

[转] 菜鸟,大牛,教主的区别

菜鸟.大牛.教主的区别 对菜鸟来说题目有三种:会算法且能AC的,会算法但不能AC的,不会做的 对大牛来说题目有两种:会做的,不会做的 对教主来说题目有两种:能AC的,数据有错的 菜鸟提交WA了,找了N久找不出错时,在论坛大骂数据有错,但是没人理 大牛提交WA了,找了N久找不出错时,写暴力程序或者求别人的AC程序对拍 教主提交WA了,Judge马上修正数据 菜鸟面对一道难题,直接暴搜 大牛面对一道难题,算了算时间复杂度不对,或者证明出是NP难,果断放弃 教主面对一道难题,说,虽然我不会做,但AC还

这是一套Java菜鸟到大牛的学习路线之高级教程,由工作了10年的资深Java架构师整理。

这是一套Java菜鸟到大牛的学习路线之高级教程,由工作了10年的资深Java架构师整理.        01-java高级架构师设计-基础深入        J2SE深入讲解        Java多线程与并发库高级应用视频教程下载        java反射机制        java设计模式视频        数据结构视频教程        Eclipse视频教程.zip        MyEclipse视频教程.zip    02-java高级架构师设计-JavaEE拓展        A

[转]论菜鸟,大牛,教主的区别

对菜鸟来说题目有三种:会算法且能AC的,会算法但不能AC的,不会做的 对大牛来说题目有两种:会做的,不会做的 对教主来说题目有两种:能AC的,数据有错的 菜鸟提交WA了,找了N久找不出错时,在论坛大骂数据有错,但是没人理 大牛提交WA了,找了N久找不出错时,写暴力程序或者求别人的AC程序对拍 教主提交WA了,Judge马上修正数据 菜鸟面对一道难题,直接暴搜 大牛面对一道难题,算了算时间复杂度不对,或者证明出是NP难,果断放弃 教主面对一道难题,说,虽然我不会做,但AC还是没有问题的 菜鸟AC了

Java菜鸟到大牛学习路线之高级篇

这是一套java菜鸟到大牛的学习路线之高级教程,由本站工作了10年的资深Java架构师整理.        01-java高级架构师设计-基础深入        J2SE深入讲解        Java多线程与并发库高级应用视频教程下载        java反射机制        java设计模式视频        数据结构视频教程        Eclipse视频教程.zip        MyEclipse视频教程.zip    02-java高级架构师设计-javaEE拓展       

从菜鸟到大牛的码农升职必学文章推荐

几年前我也是一个码农菜鸟,我也常常幻想着成为技术大牛. 如何减小与"大牛"的差距是我常常不得不面对的话题.今天从我走过来的路来总结一下成为大牛的技术之路. 先来看一张程序员的时间管理图. 除了时间管理,技术学习也是少不了的.下面推荐一下比较好的技术文章. 使用瀑布流插件 Masonry 进行瀑布流布局 业余草微信公众号上线了! 使用HTML5 Canvas实现火焰风暴动画 HTML5 实现3D翻转立方体 使用 HTML5 制作像素太空战机游戏 常用的Linux关机命令大全 5个常用的L

简单动态规划问题分析

例题: 1022: 菜鸟和大牛(csuoj) 像这一类问题,首先不管是属于什么类型的,如果是按照题目的思路一步步走下来,然后运行,最后肯定是要超时的,究其原因,它的时间复杂度很不合理,最后是呈现指数增长的方式的.ACM本来就是研究最优算法的,所以不管结果如何,这个方法绝对不是优先选择的. 然后通过由下向上进行分析求解,会发现虽然思考问题的方式改变并不大,但是最后的大部分结果在还没有进行大量的运算之前就被我们排除了.这个方法的名字并不重要,重要的是以后解题时这种方法都应该是自己优先考虑的. 简单动

技术人的小目标:10000小时理论落地,你就是大牛

技术人的小目标 首富王健林在采访时不经意的一句话“先定一个能达到的小目标,比方说我先挣它一个亿”瞬间刷爆了朋友圈,朋友们都在充分发挥调侃和自黑的潜力,各种段子都在说自己要先定一个能达到的小目标,比如说我先挣10 billion的津巴布韦元 :) 抛开首富的小目标对于我们普通老百姓来说过于宏大这点外,其实这句话也是挺有道理的,简单来说就是要循序渐进,不要期望一口吃成一个大胖子.这个道理其实平时大家也都懂,但在这个浮躁的社会,要真正理解并采取行动,并不那么简单,比如说“技术人员如何成为大牛”这个话题