1. 程式人生 > >HDU 4864 Task

HDU 4864 Task

題意: 每臺機器有x,y兩種屬性,有m個任務,如果機器的這兩個屬性大於任務,那麼就是可以完成這個任務,並且每個任務每隻能完成一個任務。
思路:先按照x排序,x相等,按照y排序,每一次記錄下來可以完成這個任務的機器,尋找屬性相差最小的那臺。

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define ll long long
#define N 111111

struct node{
    int x,y;
    ll ac;
    void
input(){ scanf("%d%d",&x,&y); ac = 500*x+2*y; } }a[N],b[N]; bool cmp(node xx,node yy){ if(xx.x==yy.x) return xx.y>yy.y; return xx.x>yy.x; } int n,m; int vis[111]; int main(){ while(scanf("%d%d",&n,&m)==2){ for(int i=0;i<n;i++) a[i].input(); for
(int j=0;j<m;j++) b[j].input(); sort(a,a+n,cmp); sort(b,b+m,cmp); ll sum = 0; int ans =0; memset(vis,0,sizeof(vis)); for(int i=0,j=0;i<m;i++){ while(j<n&&a[j].x>=b[i].x){ vis[a[j].y]++; j++; } for
(int k=b[i].y;k<=100;k++){ if(vis[k]){ vis[k]--; ans++; sum+=b[i].ac; break; } } } printf("%d %I64d\n",ans,sum); } }

相關推薦

HDU 4864 Task

題意: 每臺機器有x,y兩種屬性,有m個任務,如果機器的這兩個屬性大於任務,那麼就是可以完成這個任務,並且每個任務每隻能完成一個任務。 思路:先按照x排序,x相等,按照y排序,每一次記錄下來可以完成這

HDU 4864 Task(2014多校第一場1004)(貪心)

題意:有n個機器和m個測試,只有機器的time和level都不小於測試的time和level才能通過測試,一個機器只能對應一個測試,一個測試只能對應一個機器。每通過一個測試可以得到金錢數:500*t

HDU 4864 Task(基本演算法-貪心)

Task Problem Description Today the company has m tasks to complete. The ith task need xi minutes to complete. Meanwhile, this task ha

HDU 4864 Task(貪心) (機器完成目標任務, 兩個權值, 小範圍打表)

Task Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 7171    Accepted Submiss

hdu 4864 Task 貪心

題意:有n個機器,m個任務。每個機器至多能完成一個任務。對於每個機器,有一個最大執行時間xi和等級yi,對於每個任務,也有一個執行時間xj和等級yj。只有當xi>=xj且yi>=yj的時候,機器i才能完成任務j,並獲得500*xj+2*yj金錢。問最多能完成幾個

HDU 4864 Task(經典貪心)

傳送門: Task Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 11382    Accepted Submission(s): 2782 Pr

HDU 4864 Task (2014多校聯合訓練第一場1004) 解題報告(貪心)

Task Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 400    Accepted Submission(

HDU 4864 Task (貪心)

Task Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2154    Accepted Submission(

HDU 4864Task

name names php def target nbsp set In print 【題目鏈接】 http://acm.hdu.edu.cn/showproblem.php?pid=4864 【算法】 貪心

[BestCoder Round #3] hdu 4907 Task schedule (模擬簡單題)

using mes family set key problem 占用 時間 task Task schedule Problem Description 有一臺機器,而且給你這臺機器的工作表。工作表上有n個任務,機器在ti時間運行第i個任務,1秒就可以完畢

HDU 3572 Task Schedule(ISAP模板&amp;&amp;最大流問題)

reat avi 所有 dsm name col eof 網絡流 -1 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=3572 題意:m臺機器。須要做n個任務。第i個任務。你須要使用機器Pi天,且這個任務要在[Si

hdu 3572 Task Schedule

cout stdio.h res geometry stdin i++ rst math.h pro Task Schedule Problem Description Our geometry princess XMM has stoped her study in co

HDU - 3572-Task Schedule

amp 結束時間 view can 分享 sed 不同 node printf 題目大意:給N個任務,M臺機器。每個任務有最早才能開始做的時間S,最晚完成時間 E, 和持續工作的時間P。每個任務可以由不同的機器進行,但是在同一時刻,一臺機器最多只能 執行一個任務. 問存不存

hdu-3572 Task Schedule---最大流判斷滿流+dinic算法

push_back size 分段 amp con AS mda tro iter 題目鏈接: http://acm.hdu.edu.cn/showproblem.php?pid=3572 題目大意: 給N個任務,M臺機器。每個任務有最早才能開始做的時間S,deadline

題解報告:hdu 4907 Task schedule

mil 註意 input cat ++ nbsp clu names amp Problem Description 有一臺機器,並且給你這臺機器的工作表,工作表上有n個任務,機器在ti時間執行第i個任務,1秒即可完成1個任務。有m個詢問,每個詢問有一個數字q,表示如果在q

HDU 3572 Task Schedule[Dinic多路增廣優化]

Task Schedule 題意:有n個任務,每個任務三個引數,P,S,E,分別代表需要工作的時間,起始時間,終止時間. 工作的P天可以不連續.每天可以同時進行M個任務.問,是否有合理的安排計劃. 思路: 每個任務對於區間[S,E]連一條邊,代表這些路徑都可以嘗試 對於每

HDU 4864 貪心

  要求:有n臺機器和m個任務,並且每臺機器和每個任務都帶有一個時間標記和一個等級標記,只有機器的兩個標記都大於任務時才能進行該任務。最大等級不超過100,完成一個任務獲得錢數為500*時間+2*等級。一臺機器一天只能完成一個任務,求完成最大任務數,若有多解,取賺錢數最多的。 方法

HDU--4486 Task(貪心)

main 一個 一個數 pid sca 個數 lan efi scan 題目鏈接 4486 Task 按照時間從大到小排序 然後枚舉所有的y值 用一個數組存儲 符合要求就算上 #include<bits/stdc++.h> using namespa

貪心 之 hdu 4864

//  [7/23/2014 Sjm] /* 又坑在TLE上了。。。。 Each machine can only complete a task one day. Each task can only be completed by one machine.所以想到了貪心

hdu 3572 Task Schedule(網路流最大流)

/* 題目大意:工廠有m臺機器,需要做n個任務。對於一個任務i, 你需要花費一個機器Pi天,而且,開始做這個任務的時間要>=Si,完成這個任務的時間<=Ei。 對於一個任務,只能由一個機器來完成,一個機器同一時間只能做一個任務。 但是,一個任務可以分成幾段不連續