Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
37100 李羽乔 【S】T3 C++ 解答错误 32 791 MS 33036 KB 2654 2025-03-02 20:51:47

Tests(16/50):


#include<bits/stdc++.h> using namespace std; const int N = 3e5+10; #define ll long long int id,n,k; ll q; struct T{ int l; int r; ll sum; ll lazy; ll lazy2; }t[N*4]; void pushup(int i){ t[i].sum=(t[i*2].sum%2+t[i*2+1].sum%2)%2; } void pushdown(int i){ if(t[i].l==t[i].r){ t[i].lazy=0; t[i].lazy2=1; return; } if(t[i].lazy==0&&t[i].lazy2==1){ return; } t[i*2].sum=(t[i*2].sum%2*t[i].lazy2%2+(t[i*2].r-t[i*2].l+1)%2*t[i].lazy%2); t[i*2+1].sum=(t[i*2+1].sum%2*t[i].lazy2%2+(t[i*2+1].r-t[i*2+1].l+1)%2*t[i].lazy%2); t[i*2].lazy2*=t[i].lazy2%2; t[i*2+1].lazy2*=t[i].lazy2%2; t[i*2].lazy=(t[i*2].lazy%2*t[i].lazy2%2+t[i].lazy%2)%2; t[i*2+1].lazy=(t[i*2+1].lazy%2*t[i].lazy2%2+t[i].lazy%2)%2; t[i].lazy=0; t[i].lazy2=1; } void build(int i,int l,int r){ t[i].l=l; t[i].r=r; t[i].sum=0; t[i].lazy=0; t[i].lazy2=1; if(l==r){ return; } int mid=(l+r)/2; build(i*2,l,mid); build(i*2+1,mid+1,r); pushup(i); } void update(int i,int l,int r,ll x){ pushdown(i); if(t[i].l>=l&&t[i].r<=r){ t[i].lazy+=x%2; t[i].sum+=(t[i].r-t[i].l+1)%2*x%2; return; } if(t[i*2].r>=l){ update(i*2,l,r,x); } if(t[i*2+1].l<=r){ update(i*2+1,l,r,x); } pushup(i); } void update2(int i,int l,int r,ll x){ pushdown(i); if(t[i].l>=l&&t[i].r<=r){ t[i].lazy2*=x%2; t[i].sum=t[i].sum%2*x%2; return; } if(t[i*2].r>=l){ update2(i*2,l,r,x); } if(t[i*2+1].l<=r){ update2(i*2+1,l,r,x); } pushup(i); } int query(int i,int l,int r){ pushdown(i); if(t[i].l>=l&&t[i].r<=r){ return t[i].sum; } ll ans=0; if(t[i*2].r>=l){ ans=ans+query(i*2,l,r); } if(t[i*2+1].l<=r){ ans=ans+query(i*2+1,l,r); } return ans; } int main(){ //freopen("calculator.in","r",stdin); //freopen("calculator.out","w",stdout); cin>>id>>n>>q>>k; build(1,1,n); for(int i=1;i<=q;i++){ int l,r,x; char op; cin>>op; if(op=='+'){ cin>>l>>r>>x; update(1,l,r,x); } if(op=='-'){ cin>>l>>r>>x; update(1,l,r,-x); } if(op=='*'){ cin>>l>>r>>x; update2(1,l,r,x); } } for(int i=1;i<=n;i++){ ll x=query(1,i,i)%2; if(x==-1) x=1; cout<<x<<" "; } cout<<endl; return 0; }


测评信息: