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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

uestc 1073 秋实大哥与线段树 Label:线段树

發(fā)布時間:2025/3/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 uestc 1073 秋实大哥与线段树 Label:线段树 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

秋實大哥與線段樹

Time Limit: 3000/1000MS (Java/Others) ??? Memory Limit: 65535/65535KB (Java/Others)

“學(xué)習(xí)本無底,前進(jìn)莫徬徨。” 秋實大哥對一旁玩手機(jī)的學(xué)弟說道。

秋實大哥是一個愛學(xué)習(xí)的人,今天他剛剛學(xué)習(xí)了線段樹這個數(shù)據(jù)結(jié)構(gòu)。

為了檢驗自己的掌握程度,秋實大哥給自己出了一個題,同時邀請大家一起來作。

秋實大哥的題目要求你維護(hù)一個序列,支持兩種操作:一種是修改某一個元素的值;一種是詢問一段區(qū)間的和。

Input

第一行包含一個整數(shù)nn,表示序列的長度。

接下來一行包含nn個整數(shù)aiai,表示序列初始的元素。

接下來一行包含一個整數(shù)mm,表示操作數(shù)。

接下來mm行,每行是以下兩種操作之一:

1 x v : 表示將第x個元素的值改為v 2 l r : 表示詢問[l,r]這個區(qū)間的元素和

1nmvai1000001≤n,m,v,ai≤100000,1lrn1≤l≤r≤n。

Output

對于每一個22?ll?rr操作,輸出一個整數(shù)占一行,表示對應(yīng)的答案。

Sample input and output

Sample InputSample Output
3 1 2 3 3 2 1 2 1 1 5 2 1 2 3 7

代碼 ?樹狀數(shù)組

1 #include<iostream> 2 #include<algorithm> 3 #include<cstdio> 4 #include<cstring> 5 #define ll long long 6 using namespace std; 7 ll bit[500005],a[500005]; 8 ll n,m; 9 10 ll sum(ll i){//求元素1~i的和 11 ll s=0; 12 while(i>0){ 13 s+=bit[i]; 14 i-=i&(-i); 15 } 16 return s; 17 } 18 19 void add(ll i,ll x){//將元素i加上x 20 while(i<=n){ 21 bit[i]+=x; 22 i+=i&(-i); 23 } 24 } 25 26 int main(){ 27 28 scanf("%lld",&n); 29 for(int i=1;i<=n;i++){ 30 scanf("%d",&a[i]); 31 add(i,a[i]); 32 } 33 34 scanf("%lld",&m); 35 for(int i=1;i<=m;i++){ 36 ll x=0,b=0,c=0; 37 scanf("%lld%lld%lld",&x,&b,&c); 38 if(x==1){ 39 ll temp=c-a[b];//處理修改后的數(shù)與原數(shù)的差 40 a[b]=c; 41 add(b,temp); 42 } 43 else if(x==2){ 44 ll temp=sum(c)-sum(b-1); 45 printf("%lld\n",temp); 46 } 47 } 48 return 0; 49 }

用的樹狀數(shù)組,注意變量名要起好,像Line41我就直接寫成了

add(x,temp);

果斷WA

?

還有Line40,沒寫,思考一下就知道,可能對一個值多次修改,然后Orz

?代碼 zkw線段樹

1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<algorithm> 5 #define ll long long 6 using namespace std; 7 ll tr[10000005];//記得改long long 8 ll n,temp,M,m; 9 10 void query(ll s,ll t){ 11 ll ans=0; 12 13 for(s=s+M-1,t=t+M+1;s^t^1;s>>=1,t>>=1){ 14 if(~s&1) ans+=tr[s^1]; 15 if(t&1) ans+=tr[t^1]; 16 } 17 18 printf("%lld\n",ans); 19 } 20 21 void change(ll x,ll y){ 22 for(tr[x+=M]+=y,x>>=1;x>0;x>>=1){ 23 tr[x]=tr[x<<1]+tr[x<<1|1]; 24 } 25 } 26 27 int main(){ 28 // freopen("01.in","r",stdin); 29 scanf("%lld",&n); 30 for(M=1;M<(n+2);M<<=1);//定義M大小 31 32 for(ll i=1;i<=n;i++){ 33 scanf("%lld",&temp); 34 change(i,temp); 35 } 36 37 scanf("%lld",&m); 38 39 for(ll i=1;i<=m;i++){ 40 ll oper,s,t; 41 scanf("%lld%lld%lld",&oper,&s,&t); 42 if(oper==2){ 43 query(s,t); 44 } 45 else if(oper==1){ 46 temp=t-tr[s+M]; 47 change(s,temp); 48 } 49 } 50 return 0; 51 }

Line 22

x>>=1

一定要寫

?

還有就是Line 30之前放到Line 36,詭異的錯誤

轉(zhuǎn)載于:https://www.cnblogs.com/radiumlrb/p/5823786.html

總結(jié)

以上是生活随笔為你收集整理的uestc 1073 秋实大哥与线段树 Label:线段树的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 法国性xxxx精品hd | 日韩电影一二三区 | 欧美日韩国产免费一区二区三区 | av无码久久久久久不卡网站 | 欧美影院在线 | 天堂av电影在线观看 | 国产欧美一区二区三区在线 | youjizz欧美 | av视屏| 久久久亚洲综合 | 全部毛片永久免费看 | 玖玖999 | 中文写幕一区二区三区免费观成熟 | 蜜臀av一区二区三区有限公司 | 成人一级黄色片 | 亚洲黄色网页 | 花样视频污 | 91久久精品夜夜躁日日躁欧美 | 亚洲自拍第二页 | 狠狠干91| 亚洲伦理自拍 | 国产亚洲欧美在线 | 久色免费视频 | 久久综合久久综合久久 | 一区二区三区在线免费播放 | 久久亚洲网站 | 高h喷水荡肉少妇爽多p视频 | 日韩一页| 欧美成人aaa片一区国产精品 | 亚洲国产av一区二区三区 | 国产日韩一区二区三区在线观看 | 日韩av无码久久 | 黄色aaa视频| 精品国产一二三四区 | 91蝌蚪在线 | 五月天天色 | 成人一级视频在线观看 | 男人晚上看的视频 | 日韩精品第一区 | 免费中文字幕日韩欧美 | 四虎影视在线 | 亚洲精品中文字幕在线播放 | 国产精品久久久久久久久久免费看 | 冲田杏梨一区二区三区 | 精品国产成人亚洲午夜福利 | 成人h动漫精品一区二区下载 | 久久免费在线观看 | 成人颜色网站 | 国产美女无遮挡永久免费观看 | 亚洲在线中文字幕 | 日韩黄色片| 国产精品久久久久久影视 | 久久精品一区二区在线观看 | 潘金莲一级淫片免费放动漫 | 国产在线视频你懂得 | 在线中文字幕日韩 | 成人性生生活性生交全黄 | 午夜欧美激情 | 欧美日韩偷拍视频 | 日韩激情久久 | 欧美成年人在线观看 | 午夜精品一区二区三 | 成年人视频在线播放 | 亚洲影视网 | 中文字幕亚洲不卡 | 五月天国产精品 | 久久国产片 | 在线观看涩涩 | 黄色网视频 | 香蕉网站在线观看 | 亚洲狠狠丁香婷婷综合久久久 | 亚洲成人av一区二区三区 | 婷婷丁香五 | 亚洲一区欧洲一区 | 国产成人综合在线 | 无码人妻黑人中文字幕 | 亚洲成人视屏 | 国产精品人妖 | 色呦呦在线播放 | 午夜av网址 | 免费国产区 | 欧美系列一区二区 | 日本高清不卡在线 | 日本毛片在线观看 | 欧美日韩国产高清视频 | 日本女人hd | 久久国产精品无码一级毛片 | 手机免费看av片 | 国产免费叼嘿网站免费 | av在线天天 | 国产精品国产三级国产aⅴ无密码 | 涩涩屋视频在线观看 | 无码人妻丰满熟妇区96 | 成人免费91 | 久久久com| 人妻视频一区二区三区 | 97在线播放 | 九一国产在线观看 | 国产欧美精品一区二区在线播放 |