hdu1176(DP)
来源:互联网 发布:c语言的应用范围 编辑:程序博客网 时间:2024/05/22 15:23
题目链接:免费馅饼
接馅饼,最开始在5,每秒只能移动一个单位,每次只能接住当前位置的馅饼
状态转移方程
dp[pos][t]=max(dp[pos][t-1],max(dp[pos-1][t-1],dp[pos+1][t-1]))+pie[pos][t];
dp[pos][t]表示在pos点,第t秒能接到的最多馅饼
几个注意:
1.pos取1-11,这样可以避免处理边界
2.注意状态转移的顺序
代码:
#include <iostream>#include <stdio.h>#include <memory.h>#include <algorithm>using namespace std;const int maxt=100005;int dp[15][maxt];int pie[15][maxt];int main(){ //freopen("in.txt","r",stdin); int n,x,T,maxT,ans; while(scanf("%d",&n)!=EOF&&n){ memset(dp,0,sizeof(dp)); memset(pie,0,sizeof(pie)); maxT=0; ans=0; while(n--){ scanf("%d%d",&x,&T); pie[x+1][T]++; maxT=max(maxT,T); } dp[5][1]=pie[5][1]; dp[6][1]=pie[6][1]; dp[7][1]=pie[7][1]; for(int t=2;t<=maxT;t++){ for(int pos=1;pos<=11;pos++){ dp[pos][t]=max(dp[pos][t-1],max(dp[pos-1][t-1],dp[pos+1][t-1]))+pie[pos][t]; } } for(int pos=1;pos<=11;pos++)ans=max(ans,dp[pos][maxT]); printf("%d\n",ans); } return 0;}
0 0
- HDU1176(DP)
- hdu1176(dp)
- hdu1176 dp
- hdu1176(DP)
- HDU1176 DP
- HDU1176 数塔DP
- HDU1176 (简单DP)
- hdu1176免费馅饼 dp
- HDU1176:免费馅饼(DP)
- hdu1176免费馅饼(DP)
- HDU1176 免费馅饼 DP
- hdu1176免费馅饼(DP)
- hdu1176 免费馅饼--DP
- HDU1176 免费馅饼 DP
- 【DP】HDU1176免费馅饼
- HDU1176二维DP
- hdu1176 免费馅饼 (dp)
- hdu1176免费馅饼 dp
- JavaScript 基础
- 在unordered_map中存放函数指针
- git基本概念
- laravel应用程序的秘钥
- php基础语法
- hdu1176(DP)
- mybatis查询时间段sql语句
- 【内部类】静态内部类及应用
- Queue队列API与源码分析优先级队列PriorityQueue实现原理
- 深入四大组件之Activity
- 2016/12/08C++Primer学习笔记:第十章 泛型算法
- AES加密和解密工具类
- 近三个月学习总结
- Codeforces 8D Two Friends