万遍红中带点绿,不过学会了一些有技巧吧。
就是会用那个优先队列了。
https://blog.csdn.net/stand1210/article/details/52464922
这个题就是贪心。
弄一个结构体,在把时间排序一下。
分两部分:
- 第一种可能:未雨绸缪 ( t < p [ i ] . t )
- 第二种可能:抉择( t > = p [ i ] . t )
讨论两种情况即可:
但是里面用到了优先队列进行维护:
priority_queue< int, vector <int > , greater < int > >que; 升序 top:Min
priority_queue< int >que ;降序 top:Max
贴上代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef struct node{