http://oi.nks.edu.cn/en/Problem/Details/2295
这道题是要一道经典的线段修改与访问的题,即用lazy标记的经典题首先,我们按照老套路,要建树(初始化)。
建完树后,我们就开始更新了,我们一条线段一条线段的更新:当
一条线段树上全没颜色是lazy标记为0;若全有颜色则lazy标记为1;
不然lazy标记为-1
#include<cstdio>
#include<iostream>
using namespace std;
struct tree{
int l,r,lazy;
}a[800005];
int s,n;
void buildtree(){//建树
s=1;
while(s<200000)s*=2;
for(int i=s*2-1;i>=s;i--){
a[i].l=a[i].r=i-s+1;
a[i].lazy=0;
}
for(int i=s-1;i>=1;i--){