zoukankan      html  css  js  c++  java
  • HDU3661_assignments_活动分配_贪心

    /*
    *Time: 略
    *题目大意:给定n个工作,每个工作有分为a, b两种,有n个工人,每个工人
    * 分配一个a, 一个b, 每个工人工作时间限度为t,超过t要另外支付T-t的金额
    * 求老板分配的最小额
    *解题思路:拿到题目就感觉到用贪心,可以自己无法证明,就久久没有入手。
    * 因为是在计算几何专题里面的。
    * 目标是要使未能达到t的工人数最少,所以要使每个工人的工作时间尽可能到
    * 达t,感觉一边升序排列,一边降序排列即可使结果最优,但还是证明不了。
    * 证明贪心的能力有待加强。
    *解题感想:水题一道,关键是要看能否看出是水题,最好能证明一下。
    */

    View Code
     1 #include <iostream>
     2 #include <algorithm>
     3 #include <functional>
     4 using namespace std;
     5 
     6 const int MAX = 1024;
     7 
     8 void view(int a[], int n)
     9 {
    10     for(int i = 0; i < n; i++)
    11         cout << a[i] << " ";
    12     cout << endl;
    13 }
    14 
    15 int main(void)
    16 {
    17     int n, t;
    18     while(scanf("%d %d", &n, &t) == 2)
    19     {
    20         int a[MAX], b[MAX];
    21         for(int i = 0; i < n; i++)
    22             scanf("%d", &a[i]);
    23         for(int i = 0; i < n; i++)
    24             scanf("%d", &b[i]);
    25         sort(a, a + n);
    26         sort(b, b + n, greater<int>());
    27         //view(a, n);
    28         //view(b, n);
    29         int sum = 0;
    30         for(int i = 0; i < n; i++)
    31         {
    32             int temp;
    33             temp = a[i] + b[i];
    34             if(temp > t)
    35                 sum += temp - t;
    36         }
    37         printf("%d\n", sum);
    38     }
    39     return 0;
    40 }
  • 相关阅读:
    docker将jar打包镜像文件
    特性阻抗(转)
    关于三极管偏置电路的思考
    怎样理解阻抗匹配?(转)
    你要包火到几时呢
    Bluetooth Note
    今年过年没回家
    第二天(tomcat与web程序结构与Http协议与HttpUrlConnection)
    JavaIO操作(1)转换流
    canphp框架功能与特性介绍
  • 原文地址:https://www.cnblogs.com/cchun/p/2593411.html
Copyright © 2011-2022 走看看