线段树存的是更新到当前所有的相机,队列则不管3721都把出现的camera塞进去。
最后,在询问那里判断。 一个一个出队,询问这个相机是否有用。
队列是用了优先队列。
题意是:相机有两个参数和价格。
一个参数大于,一个参数大于等于剩下的所有相机,这个相机才不过时。
我们需要在不过时的相机里面挑选价格最便宜的。 价格相等的时候挑选最早出现的。
#include <cstdio>
#include <vector>
#include <algorithm>
#include <cmath>
#include <queue>
using namespace std;
#define maxn 10000
#define inf 999999999
vector <int> x, y;
bool type[maxn];
#define lson l, m, rt << 1
#define rson m + 1, r , rt << 1 | 1
class Tree{
public :
int val[maxn << 2];
void build(int l, int r, int rt){
val[rt] = 0;
if(l == r) return ;
int m = (l + r) >> 1;
build(lson); build(rson);
}
void update(int pos, int cc, int l, int r, int rt){
if(l == r){
val[rt] = cc;
return ;
}
int m = (l + r) >> 1;
if(pos <= m)