zoukankan      html  css  js  c++  java
  • HDU 4864 Task(贪心)

    HDU 4864 Task

    题目链接

    题意:有一些机器和一些任务。都有时间和等级,机器能做任务的条件为时间等级都大于等于任务。而且一个任务仅仅能被一个机器做。如今求最大能完毕任务。而且保证金钱尽量多

    思路:贪心,对于每一个任务。时间大的优先去匹配,时间同样的。等级大的优先去匹配,由于时间占得多,时间多1就多500,而等级最多才差200。然后匹配的时候,尽量使用等级小的去匹配,而时间仅仅要大于它的都能够用。由于是按时间优先。所以假设该时间能匹配大的,其它肯定也能匹配,那么肯定优先匹配大的,所以仅仅要在等级上尽量小就能够了

    代码:

    #include <cstdio>
    #include <cstring>
    #include <iostream>
    using namespace std;
    
    typedef __int64 ll;
    const int N = 1444;
    const int M = 105;
    int n, m;
    ll mac[N][M], task[N][M], used[N];
    
    int main() {
        while (~scanf("%d%d", &n, &m)) {
    	int x, y;
    	memset(mac, 0, sizeof(mac));
    	memset(task, 0, sizeof(task));
    	memset(used, 0, sizeof(used));
    	for (int i = 0; i < n; i++) {
    	    scanf("%d%d", &x, &y);
    	    mac[x][y]++;
    	}
    	for (int i = 0; i < m; i++) {
    	    scanf("%d%d", &x, &y);
    	    task[x][y]++;
    	}
    	for (int i = 0; i <= 100; i++) {
    	    for (int j = 1439; j > 0; j--) {
    		mac[j][i] += mac[j + 1][i];
    	    }
    	}
    	ll num = 0;
    	ll ans = 0;
    	for (ll i = 1439; i > 0; i--) {
    	    for (ll j = 100; j >= 0; j--) {
    		if (!task[i][j]) continue;
    		for (ll k = j; k <= 100; k++) {
    		    if (task[i][j] > mac[i][k] - used[k]) {
    			num += mac[i][k] - used[k];
    			ans += (mac[i][k] - used[k]) * (i * 500 + j * 2);
    			task[i][j] -= (mac[i][k] - used[k]);
    			used[k] = mac[i][k];
    		    }
    		    else {
    			num += task[i][j];
    			ans += task[i][j] * (i * 500 + j * 2);
    			used[k] += task[i][j];
    			task[i][j] = 0;
    			break;
    		    }
    		}
    	    }
    	}
    	printf("%I64d %I64d
    ", num, ans);
        }
        return 0;
    }


  • 相关阅读:
    Shiro配置文件ini详解
    Shiro配置文件ini详解
    [转]shiro基础教程
    [转]shiro基础教程
    arguments.callee的作用
    [转] C# WPF Unable to add event handler
    [转] C# WPF Unable to add event handler
    springmvcajax json对象 用Map接受
    springmvcajax json对象 用Map接受
    json 对象字符串相互转化, js中
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/6728822.html
Copyright © 2011-2022 走看看