mirror of
https://gitcode.com/Zengtudor/alg2025.git
synced 2025-08-21 18:52:07 +00:00
update
This commit is contained in:
parent
34c1b54467
commit
244f30692c
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
using ll = int64_t;
|
using ll = int64_t;
|
||||||
|
|
||||||
ll n;
|
ll n,q;
|
||||||
std::vector<ll> t;
|
std::vector<ll> t;
|
||||||
std::vector<ll> v;
|
std::vector<ll> v;
|
||||||
std::vector<ll> lazy;
|
std::vector<ll> lazy;
|
||||||
@ -20,7 +20,6 @@ ll create(ll cur,ll l,ll r){
|
|||||||
return t[cur];
|
return t[cur];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ll rangeadd(ll cur, ll l, ll r, ll ql, ll qr, ll val) {
|
ll rangeadd(ll cur, ll l, ll r, ll ql, ll qr, ll val) {
|
||||||
if (lazy[cur] != 0) {
|
if (lazy[cur] != 0) {
|
||||||
t[cur] += lazy[cur] * (r - l + 1);
|
t[cur] += lazy[cur] * (r - l + 1);
|
||||||
@ -61,7 +60,7 @@ ll rangequery(ll cur, ll l, ll r, ll ql, ll qr) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int main(){
|
int main(){
|
||||||
std::cin>>n;
|
std::cin>>n>>q;
|
||||||
t.resize((n+1)*4);
|
t.resize((n+1)*4);
|
||||||
v.resize(n+1);
|
v.resize(n+1);
|
||||||
lazy.resize((n+1)*4);
|
lazy.resize((n+1)*4);
|
||||||
@ -69,18 +68,17 @@ int main(){
|
|||||||
std::cin>>v[i];
|
std::cin>>v[i];
|
||||||
}
|
}
|
||||||
create(1, 1, n);
|
create(1, 1, n);
|
||||||
ll q;
|
|
||||||
std::cin>>q;
|
|
||||||
while(q--){
|
while(q--){
|
||||||
ll l, r, val;
|
ll op;
|
||||||
std::cin>>l>>r>>val;
|
std::cin>>op;
|
||||||
rangeadd(1, 1, n, l, r, val);
|
if(op==1){
|
||||||
std::cout << t[1] << "\n";
|
ll x,y,z;
|
||||||
}
|
std::cin>>x>>y>>z;
|
||||||
std::cin>>q;
|
rangeadd(1, 1, n, x, y, z);
|
||||||
while(q--){
|
}else{
|
||||||
ll l, r;
|
ll x,y;
|
||||||
std::cin>>l>>r;
|
std::cin>>x>>y;
|
||||||
std::cout << rangequery(1, 1, n, l, r) << "\n";
|
std::cout<<rangequery(1, 1, n, x, y)<<'\n';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user