http://acm.hdu.edu.cn/showproblem.php?pid=1176

dp[i][j]:表示第i秒接j位置的馅饼的最大值。

三种状态:

dp[i][j]=max(dp[i-1][j],dp[i-1][j-1],dp[i-1][j+1])+a[i][j]

分别是上一秒接j位置,上一秒接j-1位置,上一秒接j+1位置。

注意数组初始化。

  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4. int dp[100005][11],a[100005][11];
  5. int main(int argc, char *argv[])
  6. {
  7. int n,i,j,id,t,maxt,ans;
  8. while(cin>>n&&n)
  9. {
  10. memset(a,0,sizeof(a));
  11. for(maxt=0,i=1;i<=n;i++)
  12. {
  13. cin>>id>>t;
  14. a[t][id]++;
  15. if(maxt<t) maxt=t;
  16. }
  17. for(i=1;i<=maxt;i++)
  18. for(j=0;j<=10;j++)
  19. dp[i][j]=-1000000005;
  20. dp[1][4]=a[1][4]; dp[1][5]=a[1][5]; dp[1][6]=a[1][6];
  21. int x1,x2,x3;
  22. for(i=2;i<=maxt;i++)
  23. for(j=0;j<=10;j++)
  24. {
  25. x1=dp[i-1][j]+a[i][j];
  26. if(j-1>=0) x2=dp[i-1][j-1]+a[i][j]; else x2=-1000000005;
  27. if(j+1<=10) x3=dp[i-1][j+1]+a[i][j]; else x3=-1000000005;
  28. if(x1<x2) x1=x2;
  29. if(x1<x3) x1=x3;
  30. dp[i][j]=x1;
  31. //cout<<i<<" -> "<<j<<" "<<dp[i][j]<<endl;
  32. }
  33. for(ans=i=0;i<=10;i++)
  34. {
  35. if(dp[maxt][i]>ans) ans=dp[maxt][i];
  36. }
  37. cout<<ans<<endl;
  38. }
  39. return 0;
  40. }

hdu 1176 免费馅饼(nyist 613)的更多相关文章

  1. HDU 1176 免费馅饼 (动态规划)

    HDU 1176 免费馅饼 (动态规划) Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼 ...

  2. hdu 1176 免费馅饼(数塔类型)

    http://acm.hdu.edu.cn/showproblem.php?pid=1176 免费馅饼 Time Limit: 2000/1000 MS (Java/Others)    Memory ...

  3. HDU 1176 免费馅饼 (类似数字三角形的题,很经典,值得仔细理解的dp思维)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1176 免费馅饼 Time Limit: 2000/1000 MS (Java/Others)     ...

  4. HDU 1176免费馅饼 DP数塔问题转化

    L - 免费馅饼 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Sta ...

  5. HDU 1176 免费馅饼(记忆化搜索)

    免费馅饼 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  6. HDU 1176 免费馅饼

    免费馅饼 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  7. HDU 1176 免费馅饼(数字三角形)

    免费馅饼 Problem Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉 ...

  8. HDU 1176 免费馅饼(DP)

    职务地址:HDU 1176 以时间为横轴.11个点位纵轴构造一个矩阵.然后利用数字三角形的方法从上往下递推下去. 代码例如以下: #include <iostream> #include ...

  9. HDU - 1176 免费馅饼 DP多种状态转移

    免费馅饼 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内.馅饼如果掉在了 ...

随机推荐

  1. PropertyDrawer 自定义属性绘图

    public class PlayerAttributeExample : MonoBehaviour { //无滑块的属性 ; //特性限定,有滑块 [Range(, )] ; } Range特性的 ...

  2. Android keyevent 中的各个值

    Android keyevent 中的各个值,在使用adb shell input 的时候用得到. 是从http://blog.csdn.net/huiguixian/article/details/ ...

  3. 一点简单的关于ASP.NET下载

    一点简单的关于ASP.NET下载 个人简单的认为是有两种方法的,第一种就是直接用一个超链接链接到我们要下载的资源就可以了.只是说这个方法会有一点小问题就是,比如像图片或者文本文件这些浏览器是可以自动将 ...

  4. C++拷贝构造函数详解(转载)

    一. 什么是拷贝构造函数 首先对于普通类型的对象来说,它们之间的复制是很简单的,例如: int a = 100; int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员 ...

  5. 如何解决Mac与iPhone之间handoff连接问题

    首先账户以及设备handoff开关问题不再赘述.主要是昨天发现的一个小技巧 当确认所有设备的iCloud账号统一.蓝牙打开.处在同一WiFi下的前提下,我的iPhone和Mac仍然handoff连接有 ...

  6. c++ 哪些自定义的数据类型

    http://www.cnblogs.com/ShaneZhang/archive/2013/06/21/3147648.html 这些数据类型是 C99 中定义的,具体定义在:/usr/includ ...

  7. AlphaToCoverage solution

    After msaa output the alpha in ps remove clip in ps in blendstate add AlphaToCoverageEnable = TRUE - ...

  8. Unity3D脚本中文系列教程(十五)

    http://dong2008hong.blog.163.com/blog/static/4696882720140322449780/ Unity3D脚本中文系列教程(十四) ◆ LightRend ...

  9. switch_to 理解

    最近看linux0.11源码时,看到任务切换函数switch_to,感觉很晦涩,于是在网上查了一些资料,现在终于有些眉目,特记录于此,以方便大家参考,有什么错误或不足之处,还请大家指出~ switch ...

  10. oracle 表空间 用户

    Oracle创建表空间.创建用户以及授权.查看权限 创建临时表空间 CREATE TEMPORARY TABLESPACE test_temp TEMPFILE 'C:\oracle\product\ ...