思路:特水的一个最长回文子序列动态规划。比赛时硬卡第一题,49WA后终于AC,可惜没时间做这题,结果成绩也就可想而知了。兔子跳一样权值的石头,并且一个正跳,一个反跳,这不就是个回文子序列吗?????!!!!

  1. #include<set>
  2. #include<map>
  3. #include<cmath>
  4. #include<queue>
  5. #include<cstdio>
  6. #include<vector>
  7. #include<string>
  8. #include<cstdlib>
  9. #include<cstring>
  10. #include<iostream>
  11. #include<algorithm>
  12. #define pb push_back
  13. #define mp make_pair
  14. #define Maxn 1010
  15. #define Maxm 200010
  16. #define LL __int64
  17. #define Abs(x) ((x)>0?(x):(-x))
  18. #define lson(x) (x<<1)
  19. #define rson(x) (x<<1|1)
  20. #define inf 100000
  21. #define lowbit(x) (x&(-x))
  22. #define clr(x,y) memset(x,y,sizeof(x))
  23. #define Mod 1000000007
  24. using namespace std;
  25. int dp[Maxn][Maxn],num[Maxn];
  26. int main()
  27. {
  28. int n,i,j;
  29. while(scanf("%d",&n),n){
  30. clr(dp,);
  31. for(i=;i<=n;i++){
  32. scanf("%d",num+i);
  33. dp[i][i]=;
  34. }
  35. for(i=;i<=n;i++){
  36. for(j=i-;j>=;j--){
  37. dp[i][j]=max(dp[i-][j],dp[i][j+]);
  38. if(num[i]==num[j])
  39. dp[i][j]=dp[i-][j+]+;
  40. }
  41. }
  42. int ans=;
  43. for(i=;i<=n;i++)
  44. ans=max(ans,dp[i][]+dp[n][i+]);
  45. printf("%d\n",ans);
  46. }
  47. return ;
  48. }

hdu 4745 动态规划的更多相关文章

  1. hdu 1087 动态规划之最长上升子序列

    http://acm.hdu.edu.cn/showproblem.php?pid=1087 Online Judge Online Exercise Online Teaching Online C ...

  2. HDU 4745 Two Rabbits(最长回文子序列)

    http://acm.hdu.edu.cn/showproblem.php?pid=4745 题意: 有一个环,现在有两只兔子各从一个点开始起跳,一个沿顺时针,另一个沿逆时针,只能在一圈之内跳,并且每 ...

  3. hdu 4745 Two Rabbits 区间DP

    http://acm.hdu.edu.cn/showproblem.php?pid=4745 题意: 有两只兔子Tom Jerry, 他们在一个用石头围城的环形的路上跳, Tom只能顺时针跳,Jerr ...

  4. hdu 4745 two Rabits

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=4745 题解:首先要抽象出题目要求的是啥.首先对于环的问题, 我们可以倍增成链,然后环的所有情况可以通过链来 ...

  5. HDU 1003 动态规划

    http://acm.hdu.edu.cn/showproblem.php?pid=1003 这几天开始刷动归题目,先来一道签到题 然而做的并不轻松, 没有注意到边界问题, WA了几发才发现 #inc ...

  6. hdu 4055 && hdu 4489 动态规划

    hdu 4055: 一开始我想的递推方向想得很复杂,看了别人的博客后才醍醐灌顶: 参照他的思路和代码: #include<cstdio> #include<cstring> # ...

  7. hdu 4711 动态规划

    思路:其实这题是个挺水的动态规划,一开始就能AC,可是不知道错哪了,瞎改瞎交,WA了数十次.AC之后怎么改都是AC,也不知道改了什么地方,郁闷死了~~~难道开始时的测试数据有问题??? dp[i][j ...

  8. HDU 6076 (动态规划)

    HDU 6076 Security Check Problem : 有两个长度为n的队列过安检,每个人有一个特征值.如果两个队列中的第一个人的特征值之差小于等于k,那么一次只能检查其中一个人,否则一次 ...

  9. HDU 1171 Big Event in HDU (动态规划、01背包)

    Big Event in HDU Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

随机推荐

  1. 两个ERP 库存调拨

    (A) ERP 负责线上销售,公司为扩大规模,发展线下实体 采用另一套ERP(B) A 和B  都是 单独的ERP  ,为了使两个ERP 能高效地工作,需开发一个单独衔接模块实现 ,库存的调拨,新品的 ...

  2. 窥探EasyMock(1)基础使用篇

    EasyMock的应用分为5步: 1. 使用 EasyMock 生成 Mock 对象: SomeInterface mockObj = createMock(SomeInterface.class); ...

  3. 不间断图片滚动JS

    (从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期 2014-05-07) MSClass是一款通用不间断滚动JS封装类,几乎支持目前所有流行风格的图片或文字滚动,横向/竖向/连续/间断 ...

  4. ASP.NET中DesignMode属性

    参考:http://blog.sina.com.cn/s/blog_4c9da9b50100r4u7.html http://book.51cto.com/art/200902/108836.htm ...

  5. 分布式文件系统HDFS体系

    系列文件列表: http://os.51cto.com/art/201306/399379.htm 1.介绍 hadoop文件系统(HDFS)是一个运行在普通的硬件之上的分布式文件系统,它和现有的分布 ...

  6. 让AllocateHwnd接受一般函数地址作参数

    http://www.xuebuyuan.com/1889769.html Classes单元的AllocateHWnd函数是需要传入一个处理消息的类的方法的作为参数的,原型: function Al ...

  7. [转]AsyncDisplayKit 教程:达到 60 FPS 的滚动帧率

    [原文:https://github.com/nixzhu/dev-blog/blob/master/2014-11-22-asyncdisplaykit-tutorial-achieving-60- ...

  8. 记录一下centos安装httpd+php+mysql的过程

    1.安装apache httpd 这个貌似安装完centos后自带了,如果没有,也可以用yum安装 yum -y install httpd 2.安装php yum -y install php ph ...

  9. Django 1.6 CBVs

    Django 1.6 最佳实践: 怎样正确使用 CBVs (Class-based views) Class-based views是Django为解决建站过程中的常见的呈现模式而建立的. 在这节中, ...

  10. Google Map和桌面组件 Android开发教程

    本文节选于机械工业出版社推出的<Android应用开发揭秘>一 书,作者为杨丰盛.本书内容全面,详细讲解了Android框架.Android组件.用户界面开发.游戏开发.数据存储.多媒体开 ...