zoukankan      html  css  js  c++  java
  • HDU

    Tickets

    题目大意:

    售票员想尽可能早的下班,现在有n个人,每个人购票都有一个时间Si,然后也给你两个相邻的人一起售票所需的时间Di,现在要你帮助售票员尽可能快的售完票,并且输出该售票员的下班时间,开始售票时间为08:00:00  am.

    数据范围:

    1n1000,0Si25s,0Di50s.

    解题思路:

    刚开始看数据范围2000,以为要n方做,之后写的时候发现直接一层循环就能实现状态的转移,之后处理一下输出的时间就行了。状态为:
    dp[i]=min(dp[i1]+S[i],dp[i2]+min(D[i1],S[i1]+S[i]))
    dp[i]代表售完第i的人的票所需的最短时间,第一部分是自己一个人售票,第二个是和相邻的前一人一起。

    AC代码:

    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<cstdlib>
    #include<algorithm>
    using namespace std;
    const int maxn = 2000;
    int a[maxn + 5], b[maxn + 5];
    int hour, minute, second;
    int T, n;
    int dp[maxn + 5];
    int main() {
        scanf("%d", &T);
        while(T--) {
            memset(dp, 0, sizeof(dp));
            hour = 8;
            minute = second = 0;
            scanf("%d", &n);
            for(int i = 1; i <= n; i++)scanf("%d", &a[i]);
            for(int i = 1; i < n; i++)scanf("%d", &b[i]);
            dp[1] = a[1];
            for(int i = 2; i <= n; i++) {
                dp[i] = min(dp[i - 1] + a[i], dp[i - 2] + min(a[i - 1] + a[i], b[i - 1]));
            }
            bool flag = 0;//记录是上午还是下午,下午是从12:00:00开始的,到13:00:00就变成了1:00:00(上下午肯定是12小时制的啦)
            second = dp[n];
            minute = second / 60;
            second %= 60;
            hour += minute / 60;
            minute %= 60;
            if(hour >= 13)hour %= 12, flag = 1;
            if(hour < 10)printf("0");
            printf("%d:", hour);
            if(minute < 10)printf("0");
            printf("%d:", minute);
            if(second < 10)printf("0");
            printf("%d", second);
            if(flag == 1)printf(" pm
    ");
            else printf(" am
    ");
        }
        return 0;
    }
  • 相关阅读:
    MySql性能调优三(explain/desc执行计划)
    MySql性能调优二(BTree、B+Tree与索引数据结构)
    MySql性能调优一(存储引擎InnoDB,MyISAM)
    PHP 数组底层实现原理
    哈希算法及其应用场景
    散列表、散列函数和散列冲突
    PHP中的XML解析的5种方法
    特殊的线性表:递归
    Navicat12破解教程(Navicat_Keygen_Patch_By_DFoX V5.6)
    svn服务端安装、迁移教程、Eclipse切换svn连接库
  • 原文地址:https://www.cnblogs.com/TRDD/p/9813530.html
Copyright © 2011-2022 走看看