hdu 1260 Tickets(dp)
来源:互联网 发布:淘宝加盟是怎么回事 编辑:程序博客网 时间:2024/06/11 17:17
小记:1A
题意:有k个人要买票(你也在里面最后一位),每个人买票要花时间,或者两个相邻的人一起买会有一个时间, 问你最少花费多少时间才能买到票
思路:题意看的半懂的,结合sample差不多理解了,
以某个人节点,他要么单独买,要么和前面一个人或者后面一个人一起买,
和后面一个人一起买其实可以看成是后面一个人和他前面的一个人一起买,
因此相当于只有两种情况,要么自己一个人买,要么和前面一个人一起买
于是设计dp[i][0],dp[i][1]
0:代表自己一个人买时到他这个位置所需要的最少时间
1:代表自己和前面一个人一起买到他当前位置所需的最少时间
于是状态转移方程就出来了
dp[i][0] = max(dp[i-1][0], dp[i-1][1]) + t[i]; (i >= 1 && i <= n, t表示单独买所需的时间)
dp[i][1] = max(dp[i-2][0], dp[i-2][1]) + interval[i]; (i >= 2 && i <=n, interval表示和前面一个人一起买所需的时间)
最后的answer就是 max(dp[n][0], dp[n][1])了
这个结果是s,换算一下变成时分秒 然后加上早上8点整 大于12点就对12取模,下午是pm,上午是am
代码:
#include <iostream>#include <stdio.h>#include <string.h>#include <math.h>#include <stdlib.h>#include <map>#include <set>#include <vector>#include <stack>#include <queue>#include <algorithm>using namespace std;#define mst(a,b) memset(a,b,sizeof(a))#define eps 10e-8const int MAX_ = 2010;const int N = 100010;const int INF = 0x7fffffff;int t[MAX_], interval[MAX_];int dp[MAX_][2];int main(){int n, T;scanf("%d",&T);while(T--){ scanf("%d", &n); for(int i = 1; i <= n; ++i){ scanf("%d", & t[i]); dp[i][0] = 0; dp[i][1] = 0; } dp[0][0] = 0; dp[0][1] = 0; for(int i = 2; i <= n; ++i){ scanf("%d", &interval[i]); } interval[1] = t[1]; for(int i = 1; i <= n; ++i){ dp[i][0] = min(dp[i-1][0], dp[i-1][1]) + t[i]; if(i > 1){ dp[i][1] = min(dp[i-2][0], dp[i-2][1]) + interval[i]; } else dp[i][1] = t[i]; } int ans = min(dp[n][1], dp[n][0]); int h, m, s; h = 8 + ans/3600; ans %= 3600; m = ans/60; ans %= 60; s = ans; if(h > 12){ h %= 12; printf("%02d:%02d:%02d pm\n",h, m, s); } else{ printf("%02d:%02d:%02d am\n",h, m, s); }}return 0;}
0 0
- hdu 1260 Tickets(dp)
- HDU 1260:Tickets(DP)
- hdu 1260 Tickets (dp)
- hdu 1260 Tickets(dp)
- hdu 1260 Tickets(DP)
- hdu 1260 Tickets 【dp】
- hdu 1260 Tickets(dp)
- hdu 1260 tickets dp
- hdu 1260 Tickets dp
- HDU - 1260 Tickets(DP)
- DP-HDU-1260-Tickets
- HDU 1260 Tickets (DP)
- hdu-1260 Tickets【dp】
- HDU-1260 Tickets(DP)
- HDU-1260-Tickets【DP】
- HDU 1260 Tickets 【dp】
- HDU 1260 Tickets(DP)
- [hdu 1260] Tickets [DP]
- 是否上传
- EBS的Jar文件
- 软件项目报价方法
- Handler导致内存泄露分析
- 【嵌入式】——嵌入式学习书籍推荐
- hdu 1260 Tickets(dp)
- 一家之主怎样理财 四步走规划好家里每分钱
- 第十一周项目二发工资啦(1)
- strtok函数的使用与实现
- ubuntu 关闭dnsmq的方法
- Java 强引用、软引用、弱引用、虚引用
- IAR :Error[e12]:Unable to open file ....\Texas Instrumens lnk51ewcc2530f256
- 【POJ】2185 Milking Grid(KMP)
- 知道创宇研发技能表v2.2