本文共 1140 字,大约阅读时间需要 3 分钟。
#include#include #include #include #include #include #include #include #include #include #include #define fi first#define se second#define mp make_pair#define pb push_back#define pi acos(-1.0)#define ll long long#define mod 1000000007#define C 0.5772156649#define ls l,m,rt<<1#define rs m+1,r,rt<<1|1#define pil pair #define pii pair #define ull unsigned long long#define base 1000000000000000000#define fio ios::sync_with_stdio(false);cin.tie(0)using namespace std;const double g=10.0,eps=1e-12;const int N=100000+10,maxn=400000+10,inf=0x3f3f3f3f;ll value[N<<2],lazy[N<<2];void build(int l,int r,int rt){ lazy[rt]=0; if(l==r) { scanf("%lld",&value[rt]); return ; } int m=(l+r)>>1; build(ls); build(rs); value[rt]=value[rt<<1]+value[rt<<1|1];}void update(int L,int R,ll c,int l,int r,int rt){ if(L<=l&&r<=R) { lazy[rt]+=c; //value[rt]+=c*(r-l+1); return ; } int m=(l+r)>>1; if(L<=m)update(L,R,c,ls); if(m >1; ll ans=0; if(L<=m)ans+=query(L,R,add+lazy[rt],ls); if(m
转载于:https://www.cnblogs.com/acjiumeng/p/8352024.html