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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[Codevs] 1082 线段树练习3

發布時間:2025/3/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [Codevs] 1082 线段树练习3 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1082 線段樹練習 3

?時間限制: 3 s ?空間限制: 128000 KB ?題目等級 : 大師 Master 題目描述?Description

給你N個數,有兩種操作:


1:給區間[a,b]的所有數增加X

2:詢問區間[a,b]的數的和。

?

輸入描述?Input Description

第一行一個正整數n,接下來n行n個整數,?

再接下來一個正整數Q,每行表示操作的個數,

如果第一個數是1,后接3個正整數,

表示在區間[a,b]內每個數增加X,如果是2,

表示操作2詢問區間[a,b]的和是多少。?

pascal選手請不要使用readln讀入

輸出描述?Output Description

對于每個詢問輸出一行一個答案

樣例輸入?Sample Input

3

1?2?3?

2

1?2 3 2

2 2 3

樣例輸出?Sample Output

9

數據范圍及提示?Data Size & Hint

數據范圍

1<=n<=200000

1<=q<=200000

?

分析 Analysis

分塊!

分塊除了細節難調外沒有什么問題,,,只要理解到位并且有自己的碼風即可。

更具體的分析:

[Codevs] 1081 線段樹練習 2 ----“分塊!”

?

代碼 Code

1 #include<cstdio> 2 #include<iostream> 3 #include<cmath> 4 #define maxn 1000000 5 using namespace std; 6 7 long long block[maxn],size,sum[maxn],add[maxn],arr[maxn],n,q,swi; 8 9 void modify(){ 10 long long a,b,c; 11 scanf("%lld%lld%lld",&a,&b,&c); 12 a--,b--; 13 14 for(long long i = a;i <= min(block[a]*size-1,b);i++) 15 arr[i] += c,sum[block[i]] += c; 16 if(block[a] != block[b]){ 17 for(long long i = (block[b]-1)*size;i <= b;i++) 18 arr[i] += c; 19 sum[block[b]] += (b-(block[b]-1)*size+1)*c; 20 }for(long long i = block[a]+1;i < block[b];i++) 21 sum[i] += size*c,add[i] += c; 22 } 23 24 void query(){ 25 long long a,b; 26 scanf("%lld%lld",&a,&b); 27 a--,b--; 28 long long ans = 0; 29 30 for(long long i = a;i <= min(block[a]*size-1,b);i++) 31 ans += arr[i]+add[block[i]]; 32 if(block[a] != block[b]){ 33 for(long long i = (block[b]-1)*size;i <= b;i++) 34 ans += arr[i]+add[block[i]]; 35 }for(long long i = block[a]+1;i < block[b];i++) 36 ans += sum[i]; 37 38 printf("%lld\n",ans); 39 } 40 41 int main(){ 42 scanf("%lld",&n); 43 size = (long long)sqrt(n)+1; 44 for(long long i = 0;i < n;i++) block[i] = i/size+1; 45 for(long long i = 0;i < n;i++) scanf("%lld",&arr[i]); 46 for(long long i = 0;i < n;i++) sum[block[i]] += arr[i]; 47 48 scanf("%lld",&q); 49 for(long long i = 0;i < q;i++){ 50 scanf("%lld",&swi); 51 if(swi%2) modify(); 52 else query(); 53 } 54 55 return 0; 56 } 分塊!

?

轉載于:https://www.cnblogs.com/Chorolop/p/7512398.html

總結

以上是生活随笔為你收集整理的[Codevs] 1082 线段树练习3的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 先锋影音av资源在线 | 91福利免费 | 久久99精品久久久久久园产越南 | 欧美粗大猛烈老熟妇 | 狠狠干天天色 | 免费视频爱爱太爽 | 精品久久福利 | 98堂 最新网名 | av成人在线播放 | 美国三级a三级18 | 亚洲AV无码一区二区三区蜜桃 | 九九视频在线观看 | 黄色a级片在线观看 | 欧美 日韩 国产 成人 在线 91 | 亚洲天堂五月天 | 国产色片在线观看 | 色网在线免费观看 | www.国产成人 | 人人射人人爱 | 澳门久久 | 风间由美在线观看 | 国产午夜一区 | 欧美一级视频免费观看 | 久草手机在线视频 | 欧美精品电影一区二区 | 久久久久久免费精品 | 国产人妻黑人一区二区三区 | www亚洲天堂| 7m精品福利视频导航 | 一区二区视频在线免费观看 | 国产精品视频一二三区 | 性高湖久久久久久久久aaaaa | 六月丁香综合 | 日韩成人免费观看 | 波多野结衣91 | 牛牛影视免费观看 | 久久九九综合 | 男女视频免费观看 | 中文字幕一区二区三三 | 国内精品少妇 | av国产免费 | 精品电影在线观看 | 深夜成人福利视频 | 国产精品av网站 | 中国zzji女人高潮免费 | 亚洲黄色片视频 | 亚洲福利社 | 天堂视频免费 | av在线收看 | 金鱼妻日剧免费观看完整版全集 | 精品一区二区三区无码视频 | 一级片在线免费 | 亚洲综合久| 国产精品老牛影视 | 亚洲图片一区二区三区 | 超碰夜夜 | 欧美精品不卡 | 国产一区自拍视频 | 草草影院在线观看视频 | 黄色国产毛片 | 成人午夜网址 | 欧美日韩精选 | 国产影音先锋 | 欧美h网站 | 国产免费看av | 国产成人精品女人久久久 | 成年男女免费视频网站 | 最好看的日本字幕mv视频大全 | 丰满少妇理论片 | 欧美色老头old∨ideo | 久久久久久久免费 | 久久久久国产精品 | 69国产在线| 日产久久久久久 | 亚洲欧美另类中文字幕 | 国产欧美精品区一区二区三区 | 日本黄页网站 | 亲吻刺激视频 | 亚洲淫片 | 亚洲免费av网站 | 免费在线一区二区三区 | 成色网 | 林雅儿欧洲留学恋爱日记在线 | 日本二区在线观看 | 97人人爽人人爽人人爽人人爽 | 国产免费一区二区三区在线观看 | 国产做爰xxxⅹ性视频国 | 一级片免费在线播放 | 日韩精品一区在线视频 | 欧美精品一区二区三区久久久 | 国产夫妻一区 | 久久久久亚洲精品中文字幕 | 麻豆av免费在线观看 | 欧美三级影院 | 亚洲一级黄色片 | 韩日激情视频 | 99久久久国产精品 | www.毛片| 粗大挺进潘金莲身体在线播放 |