文章标题 HDU 1176:免费馅饼 (DP)
来源:互联网 发布:城市智能交通大数据 编辑:程序博客网 时间:2024/04/25 08:01
免费馅饼
题意:就是在0~10的坐标上,每一秒都有馅饼掉在这上面,然后,现在有一个人在5的位置上,每次他只能移动一个,比如他在5 位置,下一秒他可以跑到4 5 6其中一个上面,现在就是要求当馅饼掉完之后,他最多能接到多少馅饼。
分析:这是一道动态规划的问题,定义dp[i,j]表示为在第i秒时在j位置最多能那到的馅饼的数量。输入时用一个数组num[i,j]保存第i秒在j 位置上馅饼的数量,所以就可以得到状态转移方程
dp[i][j]=max(dp[i-1][j]+num[i][j], dp[i-1][j-1]+num[i][j], dp[i-1][j+1]+num[i][j])
代码:
#include<iostream>#include<string>#include<cstdio>#include<cstring>#include<vector>#include<math.h>#include<queue> #include<algorithm>using namespace std;const int inf = 0x3f3f3f3f;int n;node a[100005];int num[100005][11]; int dp[100005][11];int main (){ while (scanf ("%d",&n)&&n){ memset (num,0,sizeof (num)); memset (dp,0,sizeof (dp)); int maxt=0; for (int i=0;i<n;i++){ int x,y; scanf ("%d%d",&x,&y); num[y][x]++; maxt=max(y,maxt);//记录最大的时间 } dp[1][4]=num[1][4];//初始化 dp[1][5]=num[1][5]; dp[1][6]=num[1][6]; for (int i=2;i<=maxt;i++){ for (int j=0;j<=10;j++){ if (j==0){//当j为0时,只能由0 或1转移而来 dp[i][j]=max(dp[i-1][j]+num[i][0],dp[i-1][j+1]+num[i][0]); } else if (j==10){//当j为10时,只能由9 10转移而来 dp[i][j]=max(dp[i-1][j]+num[i][10],dp[i-1][j-1]+num[i][10]); } else { dp[i][j]=max(dp[i-1][j-1]+num[i][j],dp[i-1][j]+num[i][j]); dp[i][j]=max(dp[i][j],dp[i-1][j+1]+num[i][j]); } } } int ans=0; for (int i=0;i<=10;i++){//找出最大值 ans=max(dp[maxt][i],ans); } printf ("%d\n",ans); } return 0;}
0 0
- 文章标题 HDU 1176:免费馅饼 (DP)
- Hdu 1176 免费馅饼(简单DP)
- HDU 1176 免费馅饼 (简单DP)
- Hdu 1176 免费馅饼 (DP)
- HDU 1176 免费馅饼 (DP)
- hdu 1176 免费馅饼(水题,dp)
- HDU 1176 免费馅饼(简单dp)
- HDU - 1176 免费馅饼 (简单DP)
- hdu 1176 免费馅饼(dp)
- HDU 1176 免费馅饼 (DP)
- HDU 1176 免费馅饼 (经典dp)
- HDU 1176 免费馅饼(基础DP)
- hdu 1176 免费馅饼(DP)
- 免费馅饼 (hdu 1176 简单DP)
- hdu 1176 免费馅饼(dp)
- hdu 1176免费馅饼(二维dp)
- hdu 1176 免费馅饼(dp)
- HDU---1176-免费馅饼(DP)
- Quartz+Spring 分布式定时任务调度(一)- 环境搭建
- 图形视图框架(The QGraphics View Framework)
- scws自定义分词库
- python generator yield 协程 coroutine
- 微信分享功能JS-SDK说明文档
- 文章标题 HDU 1176:免费馅饼 (DP)
- 狗尾巴花
- 在eclipse如何导入.aar包
- 【NOIP2012模拟11.1】骰子游戏
- Git常用命令
- [HDU1011]-Starship Troopers
- mysql 常用命令
- Apache、Tomcat、JBoss、WebLogic的区别与关系
- git rebase