zoukankan      html  css  js  c++  java
  • hdu 1789 贪心

    画一个图分析一下就清楚啦,应该优先考虑完成损失最大的作业,因为一天只能完成一门作业,而同时应该倒着从deadline往回找合适的完成时间,因为这样对于别的作业来说,它们有更多的机会被完成。另外,deadline的数据范围也是1000以内。

     1 #include <algorithm>
     2 #include <iostream>
     3 #include <cstring>
     4 #include <cstdio>
     5 using namespace std;
     6 
     7 const int N = 1007;
     8 bool visit[N];
     9 
    10 struct Node 
    11 {
    12     int d, s;
    13     bool operator < ( const Node & o ) const 
    14     {
    15         return s > o.s;
    16     }
    17 } node[N];
    18 
    19 int main ()
    20 {
    21     int t;
    22     scanf("%d", &t);
    23     while ( t-- )
    24     {
    25         int n, sum = 0;
    26         scanf("%d", &n);
    27         for ( int i = 0; i < n; i++ ) 
    28         {
    29             scanf("%d", &node[i].d);
    30         }
    31         for ( int i = 0; i < n; i++ ) 
    32         {
    33             scanf("%d", &node[i].s);
    34             sum += node[i].s;
    35         }
    36         sort( node, node + n );
    37         memset( visit, 0, sizeof(visit) );
    38         for ( int i = 0; i < n; i++ )
    39         {
    40             for ( int j = node[i].d; j > 0; j-- )
    41             {
    42                 if ( !visit[j] )
    43                 {
    44                     visit[j] = 1;
    45                     sum -= node[i].s;
    46                     break;
    47                 }
    48             }
    49         }
    50         printf("%d
    ", sum);
    51     }
    52     return 0;
    53 }
  • 相关阅读:
    命令行通配符教程
    无插件Vim配置文件vimrc推荐与各VIM配置项解释
    jquery.pagination.js分页插件的使用
    Alpha(4/10)
    Alpha(3/10)
    Alpha(2/10)
    Alpha(1/10)
    需求报告答辩
    项目UML设计
    项目选题报告答辩总结
  • 原文地址:https://www.cnblogs.com/huoxiayu/p/4693047.html
Copyright © 2011-2022 走看看