首页 > 其他分享 >HDU-1260 Tickets

HDU-1260 Tickets

时间:2022-11-03 22:58:14浏览次数:58  
标签:Tickets HDU int 1260 cin hh

感觉题目还是比较水的,我这个蒟蒻也能写出来hh。

思路:f[i]是前i个人(包含第i个)买票需要花费的总时间,第i个人买票所需时间,可以自己单买(f[i - 1] + a[i]),也可以和前面那个人拼团hh(f[i - 2] + to[i]),前提是他前面得有人才行(i >= 2)。

方程为f[i] = min(f[i - 1] + a[i], f[i - 2] + to[i])。

直接看代码吧。

 1 #include <iostream>
 2 using namespace std;
 3 
 4 const int N = 2010;
 5 
 6 int n;
 7 //第i个人单卖和第i个人和前一个人一起卖
 8 int a[N], to[N];
 9 int f[N];
10 
11 int main() {
12   int t;
13   cin >> t;
14   while(t--) {
15   cin >> n;
16   for(int i = 1; i <= n; i++) cin >> a[i];
17   for(int i = 2; i <= n; i++) cin >> to[i];
18   f[0] = 0;
19   for(int i = 1; i <= n; i++) {
20   f[i] = f[i - 1] + a[i];
21   if(i >= 2) f[i] = (f[i] <= f[i - 2] + to[i] ? f[i] : f[i - 2] + to[i]);
22   }
23   int tol = 8 * 3600 + f[n];
24   int h = tol / 3600;
25   tol -= tol / 3600 * 3600;
26   int m = tol / 60;
27   tol -= tol / 60 * 60;
28   int s = tol;
29   if(h < 12) {
30     if(h < 10)
31     cout << 0;
32     cout << h << ":";
33 
34     if(m < 10)
35     cout << 0;
36     cout << m << ":";
37     if(s < 10)
38     cout << 0;
39     cout << s << " am" << endl;
40   }
41   else {
42     cout << h << ":";
43 
44     if(m < 10)
45     cout << 0;
46     cout << m << ":";
47     if(s < 10)
48     cout << 0;
49     cout << s << " pm" << endl;
50    }
51   }
52   return 0;
53 }

 

 

  

  

标签:Tickets,HDU,int,1260,cin,hh
From: https://www.cnblogs.com/xioa-chou/p/16856150.html

相关文章

  • HDU 1686Oulipo ———————Hash or KMP
    OulipoOulipoTimeLimit:3000/1000MS(Java/Others)    MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):22302    AcceptedSubmission(s):86......
  • HDU 2050折线分割平面(递推)
    折线分割平面TimeLimit:2000/1000MS(Java/Others)    MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):36479    AcceptedSubmission(s):244......
  • HDU2535Vote
     TimeLimit:5000/1000MS(Java/Others)    MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):7302    AcceptedSubmission(s):3735 Probl......
  • [题解] HDU7060 Separated Number 思路整理
    题目链接HDU7060SeparatedNumber题目大意给一个\(n\)位数,把该数字分成\(k\)段,每种方案的贡献为其分割出的段的数字之和。求所有分法的贡献之和(对\(998244353\)......
  • HDU - 2717
    大概是自己第一次在图之外用搜索吧(wwww要是早点做过的话可能蓝桥省赛的那个记忆化搜索就能a出来了hhhhttps://vjudge.net/problem/HDU-2717#author=shiyifan(这是hdu源链......
  • 树上连通有关背包:【BZOJ4182】shopping &【HDU6566】The Hanged Man
    选这两道题是因为这两道题都是树上背包,而且选的点的要求都与连通性有关,而且都是按dfs序DP来模拟不断加入物品,而且都能用树剖和点分治优化(不过优化的点一个跟子树大小有......
  • 【XSY3890】【hdu5263】平衡大师(二分,上下界网络流)
    不妨令\(k=m-k\),那么题目的意思就是至多删去\(k\)条边。首先二分答案\(t\),然后求最少需要删去多少的边,如果最少需要删去的边\(\leqk\)则合法。在原图中统计每一个......
  • 【HDU6326】Monster Hunter(树上一类全序问题)
    先考虑没有树的限制,即我们可以任意安排顺序打怪兽,那么这就是一个全序问题。考虑在某种顺序下,假设初始血量为\(st\),那么打到第\(i\)个怪物时剩余的血量就是\(st+\sum\l......
  • HDU5869 Different GCD Subarray Query 离线查询/区间贡献
    题目思路首先,区间收敛到的时间是,那么用维护区间内不同数字的数目的思路解决。预处理所有右端点的集合枚举右端点,加入右端点集合的贡献;如果在加入某个值时发现之前出现过,那么......
  • HDU 3033 I love sneakers!
    题目链接:​​传送门​​题面:Ilovesneakers!ProblemDescriptionAftermonthsofhardworking,Iserlohnfinallywinsawesomeamountofscholarship.Asagreatz......