hdu 1260 Tickets
来源:互联网 发布:河南金汇鑫软件 编辑:程序博客网 时间:2024/06/18 00:01
主题思想: 动态规划。
这题第一开始想到dp,后来又觉得不是dp,构建了图,按最短路径求,可是TLE, 还是觉得是dp, 这次想通了,dp其实是递归的形式,每次保存结果,避免递归的重复计算,就是dp。 如果要想找到dp,这要从第2个人开始分析,第一个人是一个特例。
核心状态转移方程。
dist[i]=min(dist[i-2]+d[i-2],dist[i-1]+a[i]) ,i=2,3,4,...k
AC代码:
#include <iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn=2005;int a[maxn];int d[maxn];int dist[maxn];int k;//dp dist[i]=min(dist[i-2]+d[i-2],dist[i-1]+a[i]) ,i=2,3,4,...kint DP(){ dist[0]=0; dist[1]=a[1]; for(int i=2;i<=k;i++){ dist[i]=min(dist[i-2]+d[i-2],dist[i-1]+a[i]); } return dist[k];}int main(){ int T; scanf("%d",&T); int total=0; int hh; int mm; int ss; int tmp; while(T--){ hh=8; mm=ss=0; total=0; scanf("%d",&k); // build graph a[0]=0; for(int i=1;i<=k;i++){ scanf("%d",&a[i]); } for(int i=0;i<k-1;i++){ scanf("%d",&d[i]); } total= DP(); hh+=total/3600; total=total%3600; mm=total/60; ss=total%60; printf("%02d:%02d:%02d ",hh,mm,ss); if(hh<12) printf("am\n"); else printf("pm\n"); } return 0;}
阅读全文
0 0
- 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 Tickets dp
- HDU 1260 Tickets
- HDU 1260 Tickets
- HDU - 1260 Tickets(DP)
- DP-HDU-1260-Tickets
- HDU 1260 Tickets
- HDU 1260 Tickets
- java选择排序与冒泡排序
- 最火实时大数据 OLAP 技术原理和实践
- python基础教程读书笔记——第六章 抽象
- r-cnn faster-rcnn 升级之路
- MySQL、Oracle、SQL Server各数据库服务的端口号?
- hdu 1260 Tickets
- Web开发介绍
- git提交后出现nano界面,解决方法
- codeforces 859B B. Lazy Security Guard
- 网络判断工具类
- 记录springmvc静态资源访问遇到的问题
- Hibernate如何让数据库自动创建时间(时间戳)
- iOS 11 将于9月19日正式发布,一文带你了解它的那些特性
- Spring(5.1、基于xml的事物)