時間限制: 1 s
空間限制: 128000 kb
題目等級 : ** gold
題解檢視執行結果
有n個數和5種操作
add a b c:把區間[a,b]內的所有數都增加c
set a b c:把區間[a,b]內的所有數都設為c
sum a b:查詢區間[a,b]的區間和
max a b:查詢區間[a,b]的最大值
min a b:查詢區間[a,b]的最小值
輸入描述 input description
第一行兩個整數n,m,第二行n個整數表示這n個數的初始值
接下來m行操作,同題目描述
輸出描述 output description
對於所有的sum、max、min詢問,一行輸出乙個答案
樣例輸入 sample input
10 6
3 9 2 8 1 7 5 0 4 6
add 4 9 4
set 2 6 2
add 3 8 2
sum 2 10
max 1 7
min 3 6
樣例輸出 sample output
資料範圍及提示 data size & hint
10%:130%:1100%:1保證中間結果在long long(c/c++)、int64(pascal)範圍內
ps:由於資料6出錯導致某些人只有90分,已於2016.5.13修正。
出題人在此對兩位90分的使用者表示誠摯的歉意
分類標籤 tags 點此展開
暫無標籤
#include#include#define lc k<<1
#define rc k<<1|1
#define ll long long
using
namespace
std;
const ll n=2e5+5,z=n<<2
;ll n,m,a[n];
ll sum[z],mx[z],mn[z],tag[z],
set[z],add[z];
inline ll read()
while(ch>='
0'&&ch<='9')
return x*f;
}void
updata(ll k)
void pushdown(ll k,ll l,ll r)
if(tag[k])
}void
build(ll k,ll l,ll r)
ll mid=l+r>>1
; build(lc,l,mid);
build(rc,mid+1
,r);
updata(k);
}void
plusx(ll k,ll l,ll r,ll x,ll y,ll val)
pushdown(k,l,r);
ll mid=l+r>>1
;
if(y<=mid) plusx(lc,l,mid,x,y,val);
else
if(x>mid) plusx(rc,mid+1
,r,x,y,val);
else plusx(lc,l,mid,x,mid,val),plusx(rc,mid+1,r,mid+1
,y,val);
updata(k);
}void
reset(ll k,ll l,ll r,ll x,ll y,ll val)
pushdown(k,l,r);
ll mid=l+r>>1
;
if(y<=mid) reset(lc,l,mid,x,y,val);
else
if(x>mid) reset(rc,mid+1
,r,x,y,val);
else reset(lc,l,mid,x,mid,val),reset(rc,mid+1,r,mid+1
,y,val);
updata(k);
}ll qsum(ll k,ll l,ll r,ll x,ll y)
ll qmax(ll k,ll l,ll r,ll x,ll y)
ll qmin(ll k,ll l,ll r,ll x,ll y)
intmain()
return0;
}
4927 線段樹練習5
4927 線段樹練習5 時間限制 1 s 空間限制 128000 kb 題目等級 gold 題解 檢視執行結果 題目描述 description 有n個數和5種操作 add a b c 把區間 a,b 內的所有數都增加c set a b c 把區間 a,b 內的所有數都設為c sum a b 查詢區...
4927 線段樹練習5
時間限制 1 s 空間限制 128000 kb 題目等級 gold 題解檢視執行結果 有n個數和5種操作 add a b c 把區間 a,b 內的所有數都增加c set a b c 把區間 a,b 內的所有數都設為c sum a b 查詢區間 a,b 的區間和 max a b 查詢區間 a,b 的最...
線段樹練習5(codevs 4927)
題目描述 description 有n個數和5種操作 add a b c 把區間 a,b 內的所有數都增加c set a b c 把區間 a,b 內的所有數都設為c sum a b 查詢區間 a,b 的區間和 max a b 查詢區間 a,b 的最大值 min a b 查詢區間 a,b 的最小值 輸...