<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        CodeforcesRound#250(Div.1)D線段樹_html/css

        來源:懂視網 責編:小采 時間:2020-11-27 15:55:07
        文檔

        CodeforcesRound#250(Div.1)D線段樹_html/css

        CodeforcesRound#250(Div.1)D線段樹_html/css_WEB-ITnose:看看type = 2的操作,對于區間[l,r]內的元素對x取模,由于取模肯定不能和取模,所以只能每個元素取模,看上去不是區間更新,但是仔細一看,若區間[l,r]內所有的元素都小于x,那么這一區間不需要管,所以還是存在區間整段操作,所以需要lazy,這里也算是一個
        推薦度:
        導讀CodeforcesRound#250(Div.1)D線段樹_html/css_WEB-ITnose:看看type = 2的操作,對于區間[l,r]內的元素對x取模,由于取模肯定不能和取模,所以只能每個元素取模,看上去不是區間更新,但是仔細一看,若區間[l,r]內所有的元素都小于x,那么這一區間不需要管,所以還是存在區間整段操作,所以需要lazy,這里也算是一個

        看看type = 2的操作,對于區間[l,r]內的元素對x取模,由于取模肯定不能和取模,所以只能每個元素取模,看上去不是區間更新,但是仔細一看,若區間[l,r]內所有的元素都小于x,那么這一區間不需要管,所以還是存在區間整段操作,所以需要lazy,這里也算是一個剪枝了,剩下的就是type = 3的 單點更新,還有type = 1的區間求和,整體操作不難


        int n,m;ll nnum[100000 + 55];typedef struct Node {	int l,r;	ll sum;	ll maxn;};Node tree[100000 * 4 + 55];void init() {	memset(nnum,0,sizeof(nnum));}bool input() {	while(cin>>n>>m) {	for(int i=1;i<=n;i++)scanf("%I64d",&nnum[i]);	return false;	}	return true;}void push_up(int id) {	tree[id].sum = tree[id<<1].sum + tree[id<<1|1].sum;	tree[id].maxn = max(tree[id<<1].maxn,tree[id<<1|1].maxn);}void build(int l,int r,int id) {	tree[id].l = l;	tree[id].r = r;	tree[id].maxn = 0;	tree[id].sum = 0;	if(l == r) {	tree[id].maxn = nnum[l];	tree[id].sum = nnum[l];	return ;	}	int mid = (l + r)>>1;	build(l,mid,id<<1);	build(mid+1,r,id<<1|1);	push_up(id);}ll query(int l,int r,int id) {	if(tree[id].l == l && tree[id].r == r)return tree[id].sum;	int mid = (tree[id].l + tree[id].r)>>1;	if(r <= mid) return query(l,r,id<<1);	else if(l > mid) return query(l,r,id<<1|1);	else	return query(l,mid,id<<1) + query(mid + 1,r,id<<1|1);}void update(int l,int r,ll x,int id) {	if(tree[id].maxn < x) return ;	int mid = (tree[id].l + tree[id].r)>>1;	if(tree[id].l == tree[id].r) {	tree[id].sum %= x;	tree[id].maxn = tree[id].sum;	return ;	}	if(r <= mid)update(l,r,x,id<<1);	else if(l > mid)update(l,r,x,id<<1|1);	else {	update(l,mid,x,id<<1);	update(mid + 1,r,x,id<<1|1);	}	push_up(id);}void update2(int pos,int val,int id) {	if(tree[id].l == tree[id].r) {	tree[id].sum = tree[id].maxn = val;	return ;	}	int mid = (tree[id].l + tree[id].r)>>1;	if(pos <= mid)update2(pos,val,id<<1);	else update2(pos,val,id<<1|1);	push_up(id);}void cal() {	build(1,n,1);	int q = m;	while(q--) {	int type;	scanf("%d",&type);	if(type == 1) {	int l,r;	scanf("%d %d",&l,&r);	ll ans = query(l,r,1);	printf("%I64d\n",ans);	}	else if(type == 2) {	int l,r;	ll x;	scanf("%d %d %I64d",&l,&r,&x);	update(l,r,x,1);	}	else {	int k,x;	scanf("%d %d",&k,&x);	update2(k,x,1);	}	}}void output() {}int main() {	while(true) {	init();	if(input())return 0;	cal();	output();	}	return 0;}

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        CodeforcesRound#250(Div.1)D線段樹_html/css

        CodeforcesRound#250(Div.1)D線段樹_html/css_WEB-ITnose:看看type = 2的操作,對于區間[l,r]內的元素對x取模,由于取模肯定不能和取模,所以只能每個元素取模,看上去不是區間更新,但是仔細一看,若區間[l,r]內所有的元素都小于x,那么這一區間不需要管,所以還是存在區間整段操作,所以需要lazy,這里也算是一個
        推薦度:
        標簽: (一) div round
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲综合一区无码精品| 最新亚洲成av人免费看| 久久亚洲精品AB无码播放| 巨胸狂喷奶水视频www网站免费| 国产成人免费片在线观看| 亚洲国产成人无码AV在线| 69式国产真人免费视频 | 男女做羞羞的事视频免费观看无遮挡| 中文亚洲成a人片在线观看| 99久久免费国产精品热| 亚洲av永久无码精品秋霞电影影院| 久久久精品免费国产四虎| 亚洲视频在线不卡| 国产卡一卡二卡三免费入口| 亚洲av中文无码乱人伦在线观看| 国产精品免费播放| 有色视频在线观看免费高清在线直播| 国产亚洲美女精品久久久2020| 免费无码又爽又刺激网站| 亚洲欧洲国产精品你懂的| 67194熟妇在线永久免费观看 | 精品在线免费视频| 亚洲免费视频网站| 亚洲国产成人无码av在线播放| 精品成人免费自拍视频| 亚洲成AV人片久久| 日韩一品在线播放视频一品免费| 亚洲明星合成图综合区在线| 妞干网免费观看视频| 亚洲免费无码在线| 亚洲一区二区久久| 亚洲欧洲国产成人综合在线观看| 性xxxx视频免费播放直播| 国产精品无码亚洲一区二区三区| 国产亚洲精品无码拍拍拍色欲 | 精品久久久久久久免费人妻| 黄色免费在线观看网址| 91亚洲一区二区在线观看不卡| 国产美女无遮挡免费网站| 无码国产精品一区二区免费式芒果| 亚洲精品国产首次亮相 |