日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

精华版线段树模板

發布時間:2025/3/8 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 精华版线段树模板 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
哈哈哈,打了一上午。。。#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> using namespace std; typedef long long ll; ll a[100000+10]; ll lazy[1000000]; struct T{ll lt,rt;ll sum,mx,mn; }tr[400000+10]; inline void pushup(ll root){ll son1=root<<1,son2=root<<1|1;tr[root].sum=tr[son1].sum+tr[son2].sum;tr[root].mx=max(tr[son1].mx,tr[son2].mx);tr[root].mn=min(tr[son1].mn,tr[son2].mn); } inline void ct(ll g,ll l,ll r){tr[g].lt=l,tr[g].rt=r;if(l==r){tr[g].sum=a[l];tr[g].mx=tr[g].mn=a[l];return ;}ll mid=(l+r)>>1;ct(g<<1,l,mid);ct(g<<1|1,mid+1,r);pushup(g); } inline void updata(ll g,ll pos,ll val){if(tr[g].lt==tr[g].rt&&tr[g].lt==pos){tr[g].sum+=val;tr[g].mx+=val;tr[g].mn+=val;return ;}ll mid=(tr[g].lt+tr[g].rt)>>1;if(pos<=mid)updata(g<<1,pos,val);else updata(g<<1|1,pos,val);pushup(g); } inline ll qmx(ll g,ll x,ll y){if(tr[g].lt==x&&tr[g].rt==y){return tr[g].mx;}ll mid=(tr[g].lt+tr[g].rt)>>1;if(y<=mid)return qmx(g<<1,x,y);else if(x>mid)return qmx(g<<1|1,x,y);else{ll a=qmx(g<<1,x,mid);ll b=qmx(g<<1|1,mid+1,y);return max(a,b);} } inline ll qmn(ll g,ll x,ll y){if(tr[g].lt==x&&tr[g].rt==y){return tr[g].mn;}ll mid=(tr[g].lt+tr[g].rt)>>1;if(y<=mid)return qmn(g<<1,x,y);else if(x>mid)return qmn(g<<1|1,x,y);else{ll a=qmn(g<<1,x,mid);ll b=qmn(g<<1|1,mid+1,y);return min(a,b);} } void change(ll h,ll l,ll r,ll s,ll e,ll k){if(l==s&&r==e){lazy[h]+=k;return;}tr[h].sum+=(e-s+1)*k;ll mid=(l+r)/2;if(s>=mid+1){change(h*2+1,mid+1,r,s,e,k);}else if(e<=mid){change(h*2,l,mid,s,e,k);}else {change(h*2,l,mid,s,mid,k);change(h*2+1,mid+1,r,mid+1,e,k);} } inline ll qsum(ll g,ll x,ll y){if(tr[g].lt==x&&tr[g].rt==y){return tr[g].sum+lazy[g]*(tr[g].rt-tr[g].lt+1);}ll mid=(tr[g].lt+tr[g].rt)>>1;ll ret=0;if(lazy[g]){tr[g].sum+=lazy[g]*(tr[g].rt-tr[g].lt+1);change(g*2,tr[g].lt,mid,tr[g].lt,mid,lazy[g]);change(g*2+1,mid+1,tr[g].rt,mid+1,tr[g].rt,lazy[g]);lazy[g]=0;}if(y<=mid)return qsum(g<<1,x,y);else if(x>mid)return qsum(g<<1|1,x,y);else{ret+=qsum(g<<1,x,mid);ret+=qsum(g<<1|1,mid+1,y);return ret;} } int main(){ll i,j,k,m,n;scanf("%lld%lld",&n,&m);for(i=1;i<=n;i++)scanf("%lld",&a[i]);ct(1,1,n);for(i=1;i<=m;i++){ll x,y,z;scanf("%lld",&x);if(x==1){ll u,v,k;scanf("%lld%lld%lld",&u,&v,&k);change(1,1,n,u,v,k);}if(x==2){ll u,v;scanf("%lld%lld",&u,&v);printf("%lld\n",qsum(1,u,v));}}return 0; }

轉載于:https://www.cnblogs.com/brodrinkwater/p/7528006.html

總結

以上是生活随笔為你收集整理的精华版线段树模板的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲最新偷拍 | 毛片福利视频 | 波多野结衣在线视频免费观看 | 蜜桃网站 | 国产精品美女一区二区三区 | 日日不卡av | 爱情岛论坛永久入址测速 | 中文字幕88页 | 亚洲午夜国产 | 国产欧美精品久久久 | 日韩美女在线 | 丰满少妇在线观看资源站 | 中文字幕无线精品亚洲乱码一区 | 亚洲国产精品99久久久久久久久 | 无码人妻精品一区二区三区9厂 | 91麻豆国产在线观看 | 日本三级网站在线观看 | 精品人妻一区二区三区香蕉 | 久久男人视频 | 色网在线免费观看 | 无码人妻丰满熟妇区五十路百度 | 免费看黄色三级三级 | 亚洲精品美女视频 | 久久成人综合网 | 拍摄av现场失控高潮数次 | 色999在线 | 极品尤物在线观看 | 在线观看欧美视频 | 成人一区二区三区四区 | 波波野结衣 | 成人h动漫精品一区二区器材 | 四虎精品欧美一区二区免费 | 91午夜理伦私人影院 | 人妻少妇偷人精品无码 | 欧美色图第一页 | 91在线视频精品 | 免费网站在线观看黄色 | 国产免费一级 | 性欧美8khd高清极品 | 波多野结衣高清电影 | 中文字字幕在线观看 | 中文字幕+乱码+中文字幕明步 | 韩国女主播av | 久久久久久久91 | 亚洲一区视频网站 | 在线观看网页视频 | 一级片免费播放 | 91成人国产综合久久精品 | 特黄aaaaaaa片免费视频 | 污导航在线观看 | 老牛影视少妇在线观看 | 亚洲成人mv | 爱情岛亚洲论坛入口 | 欧美日韩免费网站 | 男女做爰猛烈刺激 | 黄色网页免费看 | 亚洲成人一二三区 | 成人深夜福利视频 | 午夜影院在线观看视频 | 亚洲第一精品在线 | 日韩黄色影视 | 免费无遮挡无码永久视频 | 中文字幕观看在线 | 色宗合 | 色噜噜在线 | 大地资源中文第三页 | 韩国三级hd两男一女 | 日美韩一区二区三区 | 国产一区二区三区四 | 欧美做受高潮1 | 日韩精品视频免费在线观看 | 青青草香蕉| 欧美无遮挡高潮床戏 | 亚洲无限av| 噜噜在线视频 | 国产亚洲欧美在线视频 | 国产精品人妻 | 青青自拍视频 | 精品久久人人妻人人做人人 | 懂色av蜜臀av粉嫩av喷吹 | 91网在线看| 免费污片在线观看 | 免费的三级网站 | 久久九色 | 污免费视频 | 久久99国产精品 | 成人在线视频免费看 | 91福利视频在线 | 蜜臀久久99精品久久久 | av大片网 | 国产三级在线观看视频 | 人人干狠狠干 | 黄色aa视频 | 老太太av | hd极品free性xxx护士 | 精品亚洲乱码一区二区 | 青青草97国产精品免费观看 | 亚洲欧美一区二区三区在线观看 | 国产成人无码一区二区三区在线 |