此处应该注意lazy的维护,即lazy的值应该是在1-0之间翻转的,其他没问题
代码:
#include<bits/stdc++.h>
using namespace std;
const int maxn=100010;
#define ll long long
ll sum[maxn<<2],tag[maxn<<2];
void pushdown(int p,int l,int r)
{
if(tag[p])
{
int mid=(l+r)>>1;
tag[p<<1]^=1;
tag[p<<1|1]^=1;
sum[p<<</