• hdu 4864


    基本思想是贪心。

    对于价值c=500*xi+2*yiyi最大影响100*2<500,所以就是求xi总和最大。可以先对机器和任务的时间从大到小排序。从最大时间的任务开始,找出满足任务时间要求的所有机器,从中找出等级最低且满足任务等级要求的机器匹配。依次对任务寻找满足要求的机器。

    主要是对stl不熟悉啊,自己的想法

     1 #include<iostream>
     2 #include<cstring>
     3 #include<algorithm>
     4 #include<cstdio>
     5 #include<string>
     6 #include<queue>
     7 #include<cmath>
     8 #include<map>
     9 
    10 using namespace std;
    11 
    12 #define mnx 100050
    13 #define ll long long
    14 #define inf 0x3f3f3f3f
    15 #define lson l, m, rt << 1
    16 #define rson m+1, r, rt << 1 | 1
    17 
    18 map<int, int> p;
    19 map<int, int>::iterator it;
    20 struct s{
    21     int xi, yi;
    22     bool operator < ( const s & b ) const{
    23         return xi > b.xi || ( xi == b.xi && yi > b.yi);
    24     }
    25 }a[mnx], b[mnx];
    26 int main(){
    27     int n, m;
    28     while( scanf( "%d%d", &n, &m ) != EOF ){
    29         p.clear();
    30         for( int i = 0; i < n; i++ ){
    31             scanf( "%d%d", &a[i].xi, &a[i].yi );
    32         }
    33         for( int i = 0; i < m; i++ ){
    34             scanf( "%d%d", &b[i].xi, &b[i].yi );
    35         }
    36         sort( a, a+n );
    37         sort( b, b+m );
    38         int j = 0, ans1 = 0; ll ans2 = 0;
    39         for( int i = 0; i < m; i++ ){
    40             while( j < n && a[j].xi >= b[i].xi ){
    41                 p[a[j].yi]++;
    42                 j++;
    43             }
    44             it = p.lower_bound( b[i].yi );
    45             if( it != p.end() ){
    46                 ans1++;
    47                 ans2 += b[i].xi * 500 + b[i].yi * 2;
    48                 int t = it->first;
    49                 p[t]--;
    50                 if( p[t] == 0 ){
    51                     p.erase( t );
    52                 }
    53             }
    54         }
    55         printf( "%d %I64d
    ", ans1, ans2 );
    56     }
    57     return 0;
    58 }

    也不是很对,没ac出来

  • 相关阅读:
    Python 的编码格式
    Python import其他层级的模块
    自己写ORM框架 DBUtils_DG Java(C#的写在链接里)
    C#对象深度克隆
    SpringMVC文件上传下载
    HttpRuntime.Cache .Net自带的缓存类
    Winform跨窗体操作控件(使用委托)
    Winform调用WebKitBrowser,基于chrome内核WebKit的浏览器控件
    ORM框架 EF code first 的封装 优化一
    Go Language 开发环境搭建
  • 原文地址:https://www.cnblogs.com/LJ-blog/p/3862874.html
Copyright © 2020-2023  润新知