HDU 1260
来源:互联网 发布:mysql 查看表空间大小 编辑:程序博客网 时间:2024/06/05 10:07
题目大意:有n个样例,每个样例中有m个人去买票,如果每个人买一张,时间分别为a1,a2,a3...an秒,如果是二个人一起买票,则从第二个人起与前一个人一起买票,时间为b1,b2 ... bn-1秒。问,n个人买票最少需要多久。
解题思路:dp公式,dp[i] = min(dp[i-1]+a[i], dp[i-1]+b[i])。dp[0]为一个人,是a1,dp[1]是两个人时,是min(a[0]+a[1], b[1])。为了方便b数组从b[1]开始输入。
ac代码:
#include <iostream>#include <algorithm>using namespace std;int n, m, dp[2005], a[2005], b[2005];int hour, minu, sec;int main(){scanf("%d", &n);while (n--){scanf("%d", &m);for (int i=0; i<m; i++)scanf("%d", &a[i]);for (int i=1; i<m; i++)scanf("%d", &b[i]);dp[0] = a[0];dp[1] = min(a[0] + a[1], b[1]);for (int i=2; i<m; i++)dp[i] = min(dp[i-1]+a[i], dp[i-2]+b[i]);hour = dp[m-1] / 3600 + 8;dp[m-1] = dp[m-1] % 3600;minu = dp[m-1] / 60;dp[m-1] = dp[m-1] % 60;sec = dp[m-1];if (hour >= 12)printf("%02d:%02d:%02d pm\n", hour, minu, sec);elseprintf("%02d:%02d:%02d am\n", hour, minu, sec);}return 0;}
阅读全文
0 0
- HDU 1260
- HDU 1260
- HDU 1260
- HDU 1260
- hdu 1260 Tickets
- hdu 1260 Tickets
- HDU 1260 Tickets
- hdu 1260 Tickets
- hdu 1260 Tickets
- hdu 1260 Tickets
- hdu 1260 Tickets 【dp】
- hdu—1260:Tickets
- hdu 1260 Tickets(dp)
- hdu 1260 tickets dp
- HDU 1260 Tickets
- HDU 1260------简单DP
- hdu 1260 Tickets dp
- HDU 1260 Tickets
- 树——二叉树的镜像
- 面向分布式商业 三业界大佬谈BCOS平台完全开源
- 流量?做用户?我们到底应该做什么?
- 欢迎使用CSDN-markdown编辑器
- JavaScript与JScript的区别
- HDU 1260
- 自绘控件(有疑问)
- 空字符对浮动的影响
- OpenGL的glPushMatrix()和glPopMatrix()矩阵栈顶操作函数详解
- 9月5日云栖精选夜读:智能语音交互:阿里的研究和实践
- spring MVC 拦截
- Codeforces 160E Buses and People【二分+线段树+离散化】
- 父类引用指向子类对象
- Tapestry(一):结合jetty开发Tapestry3项目