HDU1176 免费馅饼 经典DP
2015-12-21 21:03
501 查看
题目 地址http://acm.hdu.edu.cn/submit.php?pid=1176
类似i数塔问题,从下往上找
核心思想:
完整代码
类似i数塔问题,从下往上找
核心思想:
dp[j][i]+=max(dp[j+1][i],dp[j+1][i-1],dp[j+1][i+1])
完整代码
#include <stdio.h> #include <stdlib.h> #include <memory.h> #define maxn 100005 int dp[maxn][11]; int max(int a,int b,int c) { if(a>=b&&a>=c) return a; if(c>=b&&c>=a) return c; if(b>=a&&b>=c) return b; } int main() { int n,i,j,T,x,max_t; while(scanf("%d",&n),n!=0) { max_t=-1; memset(dp,0,sizeof(dp)); for(i=0; i<n; i++) { scanf("%d%d",&x,&T); dp[T][x]++;//add a pie if(max_t<T)//get max of time max_t=T; } for(j=max_t-1; j>=0; j--) for(i=0; i<11; i++) { if(i==0) dp[j][i]+=max(0,dp[j+1][i],dp[j+1][i+1]); else if(i==10) dp[j][i]+=max(0,dp[j+1][i-1],dp[j+1][i]); else dp[j][i]+=max(dp[j+1][i],dp[j+1][i-1],dp[j+1][i+1]); //printf("%d",dp[j][i]); } printf("%d\n",dp[0][5]); } return 0; }
相关文章推荐
- sqlite的基础
- UI day 18 数据库SQL语句
- SelectAllStu GetNameById queryStuById
- RMAN实战10:完全恢复数据库
- perl小记
- Journey Of Code组组员贡献率
- Unity3D中事件函数的运行顺序
- [python]python strip()方法
- lun masking,lun mapping zone
- android中service的总结,特别是关于如何设置类似qq,微信防止被清除
- UI 17 day 初级数据持久化
- redis服务启动关闭以及其他命令实践
- C++静态库与动态库
- UI day 16 KVO观察者模式
- 1154 回文串划分
- zabbix性能优化之我见
- python的不可变量和可变量
- C++学习日记--2015.12.21
- Android back键两次退出
- 记录我学github的路程(二)