题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1176

思路:类似数塔问题,

从最后一秒开始考虑,每次这一秒的状态确定意味着前一秒的状态也已经确定,所以从下向上进行dp

注意数组要开大一些。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
int MAX(int a,int b)
{
return a>b?a:b;
}
const int maxn = ;
int a[maxn][],n,dp[maxn][];
int main(void)
{
int j,i,t,x;
while(~scanf("%d",&n)&&n)
{
memset(a,,sizeof(a));
int mx=;
for(i=;i<n;i++) scanf("%d%d",&x,&t),mx=MAX(mx,t),a[t][x]++;
for(i=;i<=;i++) dp[mx][i]=a[mx][i];
for(i=mx-;i>=;i--)
{
for(j=;j<=;j++)
if(j==) dp[i][j]=a[i][j]+MAX(dp[i+][j],dp[i+][j+]);
else if(j==) dp[i][j]=a[i][j]+MAX(dp[i+][j],dp[i+][j-]);
else dp[i][j]=a[i][j]+MAX(dp[i+][j],MAX(dp[i+][j-],dp[i+][j+]));
}
printf("%d\n",MAX(dp[][],MAX(dp[][],dp[][])));
}
return ;
}

最新文章

  1. IIS安装
  2. SQL Server调优系列进阶篇(如何维护数据库索引)
  3. [lintcode] Binary Tree Maximum Path Sum II
  4. linux内核中的GPIO系统之(2):pin control subsystem
  5. Codeforces 706 C. Hard problem (dp)
  6. Innodb的事务与日志 &amp; JTA事务
  7. seajs 和spm的使用简介
  8. 本地存储sessionStorage 、 localStorage 、cookie整理
  9. Weblogic概念与基础
  10. Go使用flag包开发命令行工具
  11. [福大软工教学] W班 第1次成绩排行榜
  12. 计算机网络中的TCP/IP模型
  13. JavaScript原型(第五天)
  14. 11个炫酷的Linux终端命令大全
  15. TensorFlow学习笔记之--[tf.clip_by_global_norm,tf.clip_by_value,tf.clip_by_norm等的区别]
  16. spark_wordcount
  17. 使用Kotlin优雅的开发Android应用
  18. linux-----初学命令和理解
  19. python模块之HTMLParser抓页面上的所有URL链接
  20. cocos2dx 3.x避免空customCommand

热门文章

  1. YII assets使用
  2. springmvc @valid
  3. vue深入了解组件——动态组件&amp;异步组件
  4. 程序员教程-11章-Java程序设计
  5. win10磁盘碎片整理
  6. Redis 发布与订阅 消息
  7. 上传 第三方jar包 nexus
  8. Infinity,NaN
  9. Escape(状态压缩+最大流,好题)
  10. Sql求和异常——对象不能从 DBNull 转换为其他类型