zoukankan      html  css  js  c++  java
  • UVa 11729 Commando War 突击战

    你有 n 个部下,每个部下需要完成一个任务。第 i 个部下需要你花 Bi 分钟交待任务,然后他会立刻独立地、无间断地执行 Ji 分钟后完成任务。你需要选择交待任务的顺序,使得所有任务尽早执行完毕(即最后一个执行完的任务尽早结束)。注意,不能同时给两个部下交待任务,但部下们可以同时执行他们各自的任务。

    既然是要尽早完成任务,当然执行时间长的先交待,先执行。所以对所有数据按执行时间从大到小的顺序进行排序,然后开始处理,通过更新最晚的时间来得到最终结果。

    简单的贪心,附上AC代码:

       1: #include <stdio.h>
       2: #include <math.h>
       3: #include <iostream>
       4: #include <cstdarg>
       5: #include <algorithm>
       6: #include <string.h>
       7: #include <stdlib.h>
       8: #include <string>
       9: #include <list>
      10: #include <vector>
      11: #include <map>
      12: #define LL long long
      13: #define M(a) memset(a, 0, sizeof(a))
      14: using namespace std;
      15:  
      16: void Clean(int count, ...)
      17: {
      18:     va_list arg_ptr;
      19:     va_start (arg_ptr, count);
      20:     for (int i = 0; i < count; i++)
      21:         M(va_arg(arg_ptr, int*));
      22:     va_end(arg_ptr);
      23: }
      24:  
      25: typedef struct A
      26: {
      27:     int b, j;
      28:     bool operator < (const A& x) const
      29:     {
      30:         return j > x . j;
      31:     }
      32: }A;
      33:  
      34: int main()
      35: {
      36:     int n, count = 1;
      37:     while (~scanf("%d", &n) && n)
      38:     {
      39:         vector <A> buf;
      40:         int b, j;
      41:         for (int i = 0; i < n; i++)
      42:         {
      43:             scanf("%d%d", &b, &j);
      44:             buf.push_back((A){b, j});
      45:         }
      46:         sort(buf.begin(), buf.end());
      47:         int end = 0, now = 0, ans = 0;
      48:         for (int i = 0; i < n; i++)
      49:         {
      50:             now += buf[i] . b;
      51:             end = max(end, now + buf[i] . j);
      52:         }
      53:         printf("Case %d: %d
    ", count++, end);
      54:     }
      55:     return 0;
      56: }

  • 相关阅读:
    HDU 4405 Aeroplane chess (概率dp)
    条件编译符号与公布
    hdu 1722 Cake 数学yy
    电脑显示U盘,可是读取不了
    多本Web前端深度修炼书籍(提供网盘下载链接)
    HDU 5410(2015多校10)-CRB and His Birthday(全然背包)
    Servlet体验之旅(二)——Session、Cookie
    &lt;pre&gt;标签
    每天学点Python之comprehensions
    编写html经常使用而又easy忘记的语句
  • 原文地址:https://www.cnblogs.com/wuhenqs/p/3202524.html
Copyright © 2011-2022 走看看