P1558 色板游戏
一个很标准的线段树+懒惰标记模板题
只不过是这里用到了30颗线段树
上代码:
#include <bits/stdc++.h>
using namespace std;
int n,t,m;
int laz[31][400010],sum[31][400010];
void pushup(int i,int x){
sum[i][x]=sum[i][x<<1]+sum[i][x<<1|1];
}
void build(int i,int x,int l,int r){
// x means root
if(l==r){
sum[i][x]=1;
return ;
}
int mid=l+r>>1;
build(i,x<<1,l,mid);
build(i,x<<1|1,mid+1,r);
pushup(i,x