ioi2014专题

P4560 [IOI2014] Wall 砖墙

*原题链接* 做法:线段树 一道比较基础的线段树练手题,区间赋值,在修改时加些判断剪枝。 对于add操作,如果此时区间里的最小值都大于等于h的话,就没必要操作,如果最大值都小于h的话,就直接区间赋值为h。对于remove操作同理。 时间复杂度大致为,实际会比这个要大一些。 #include<bits/stdc++.h>using namespace std;const int N=2

线段树--luoguP4560 [IOI2014]Wall 砖墙

传送门 很巧啊只需要维护上界和下界就好了 一开始以为要维护四个,其实只用维护两个就好了,如果到了 l = r l=r l=r的时候修改一下序列上的值就行。 #include<iostream>#include<cstdio>#include<cstring>#define N 2000005#define ls cur<<1#define rs cur<<1|1using names