http://acm.hdu.edu.cn/showproblem.php?pid=1260

题目大意:n个人买票,每个人买票都花费时间,相邻的两个人可以一起买票以节约时间;

所以一个人可以自己买票也可以和前面的人一起买也可以和后面的人一起买,和后面的人一起买也就相当于后面的人后前面的人一起买;

因此一个人有两种买票方式自己买或者和前面的人一起买,选取耗时最短的;

得到DP的状态方程:

—dp[i] = min(dp[i - 1] + a[i], dp[i - 2] + b[i]);

样例:

1

5

15 5 10 5 20

20 10 7 10

1 2 3 4 5 分别表示每个人的编号

(1)表示第i个人自己买票大家公用的时间

(2)表示第i个人和前面一个人一起买票大家公用的时间

(3)表示每个人自己买票花费的时间

(4)表示每两个人一起买票花费的时间

每一次dp去(1),(2)的最小值

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
#include<stdlib.h>
#define N 2010 using namespace std; int main()
{
int i, t, n, a[N], b[N], dp[N], m;
scanf("%d", &t);
while(t--)
{
int H, M, S;
scanf("%d", &n);
for(i = ; i <= n ; i++)
scanf("%d", &a[i]);
for(i = ; i <= n ; i++)
scanf("%d", &b[i]);
dp[] = a[];
for(i = ; i <= n ; i++)
dp[i] = min(dp[i - ] + a[i], dp[i - ] + b[i]);
m = dp[n];
H = m / ;
M = (m - H * ) / ;
S = m - H * - M * ;
H += ;
if(H <= )
printf("%02d:%02d:%02d am\n", H, M, S);
else
printf("%02d:%02d:%02d pm\n", H, M, S);
}
return ;
}

hdu 1260 Tickets的更多相关文章

  1. 【万能的搜索,用广搜来解决DP问题】ZZNU -2046 : 生化危机 / HDU 1260:Tickets

    2046 : 生化危机 时间限制:1 Sec内存限制:128 MiB提交:19答案正确:8 题目描述 当致命的T病毒从Umbrella Corporation 逃出的时候,地球上大部分的人都死去了. ...

  2. HDU 1260 Tickets (普通dp)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1260 Tickets Time Limit: 2000/1000 MS (Java/Others)   ...

  3. 题解报告:hdu 1260 Tickets

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1260 Problem Description Jesus, what a great movie! T ...

  4. HDU 1260 Tickets(简单dp)

    Tickets Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  5. HDU - 1260 Tickets 【DP】

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1260 题意 有N个人来买电影票 因为售票机的限制 可以同时 卖一张票 也可以同时卖两张 卖两张的话 两 ...

  6. HDU 1260 Tickets DP

    http://acm.hdu.edu.cn/showproblem.php?pid=1260 用dp[i]表示处理到第i个的时候用时最短. 那么每一个新的i,有两个选择,第一个就是自己不和前面的组队, ...

  7. HDU 1260 Tickets (动规)

    Tickets Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  8. HDU 1260 Tickets (动态规划)

    Tickets Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  9. HDU 1260 Tickets(基础dp)

    一开始我对这个题的题意理解有问题,居然超时了,我以为是区间dp,没想到是个水dp,我泪奔了.... #include<stdio.h> #include<string.h> # ...

随机推荐

  1. github概念和实战

    fork: 通过fork操作,你将拥有了别人创建的repo的ownership,但是url却变成了/youraccount/repo,这时你将可以做git push操作 clone: 该命令是直接将r ...

  2. Qt之HTTPS登录

    简述 HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版.即HTTP ...

  3. div中文字水平和垂直居中的css代码

    HTML元素 <div>水平垂直居中</div> css样式 div{ width:200px;height:200px; /*设置div的大小*/ border:1px so ...

  4. HDU 5360 Hiking 登山 (优先队列,排序)

    题意: 有n个人可供邀请去hiking,但是他们很有个性,每个人都有个预期的人数上下限[Li,Ri],只有当前确定会去的人数在这个区间内他才肯去.一旦他答应了,无论人数怎样变更,他都不会反悔.问最多能 ...

  5. 支持向量机之Hinge Loss 解释

    Hinge Loss 解释 SVM 求解使通过建立二次规划原始问题,引入拉格朗日乘子法,然后转换成对偶的形式去求解,这是一种理论非常充实的解法.这里换一种角度来思考,在机器学习领域,一般的做法是经验风 ...

  6. 【英语】Bingo口语笔记(4) - Pick系列

    take your pick. 你挑吧 pick on 找茬

  7. 【英语】Bingo口语笔记(67) - turn系列

  8. Android数据库一些源码分析

    对于批量数据插入这种最常见的情况来说,我们来看两种实现方式(两种都用了事务). 下面这种应该是最多人使用的插入数据的方法: public long addByExec(List<Person&g ...

  9. MySQL基础之第17章 MySQL日志

    17.1.日志简介 二进制日志错误日志通用查询日志慢查询日志 17.2.二进制日志 二进制日志也叫作变更日志(update log),主要用于记录数据库的变化情况.通过二进制日志可以查询MySQL数据 ...

  10. SSH框架面试题

    Hibernate工作原理及为什么要用? 原理: 1. 读取并解析配置文件 2. 读取并解析映射信息,创建SessionFactory 3. 打开Sesssion 4. 创建事务Transation ...