挑战全网【模板】线段树1 最短解(c++)
  • 板块灌水区
  • 楼主YiX01
  • 当前回复7
  • 已保存回复8
  • 发布时间2023/12/22 12:20
  • 上次更新2023/12/22 14:06:58
查看原帖
挑战全网【模板】线段树1 最短解(c++)
985130
YiX01楼主2023/12/22 12:20
#import<iostream>
using A=long;using namespace std;A n,q,t,L,R,a['六'],d['六'];A f(A x=1,A l=1,A r=n){A y=l+r>>1,z=min(R,r)-max(L,l)+1;return l>R|L>r?0:(a[x]+=z*t,L<=l&r<=R?d[x]+=t,a[x]:z*d[x]+f(x+x,l,y)+f(x+x+1,y+1,r));}main(){for(cin>>n>>q;R<n;f())L=++R,cin>>t;for(;q--;t<2?cin>>t,f():(t=0,cout<<f()<<'\n',0))cin>>t>>L>>R;}

用c++14可AC,共323B。

2023/12/22 12:20
加载中...