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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

UESTC_秋实大哥与花 2015 UESTC Training for Data StructuresProblem B

發布時間:2023/12/13 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UESTC_秋实大哥与花 2015 UESTC Training for Data StructuresProblem B 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

B - 秋實大哥與花

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

秋實大哥是一個儒雅之人,晝聽笙歌夜醉眠,若非月下即花前。

所以秋實大哥精心照料了很多花朵?,F在所有的花朵排成了一行,每朵花有一個愉悅值。

秋實大哥每天要對著某一段連續的花朵歌唱,然后這些花朵的愉悅值都會增加一個相同的值v(v可能為負)。

同時他想知道每次他唱完歌后這一段連續的花朵的愉悅值總和是多少。

Input

第一行有一個整數n,表示花朵的總數目。

第二行包含n個整數ai,表示第i朵花初始的愉悅值。

第三行包含一個整數m,表示秋實大哥唱了m天的歌。

接下來m行,每行包含三個整數l?r?v,表示秋實大哥對著[l,r]這個區間內的花朵歌唱,每朵花的愉悅值增加了v。

1nmai|v|1000001lrn。

Output

輸出共m行,第i行表示秋實大哥完成第i天的歌唱后,那一段花朵的愉悅值總和。

Sample input and output

Sample InputSample Output
3 0 0 0 3 1 2 1 1 2 -1 1 3 1 2 0 3

解題報告:

沒啥好說的,線段樹模板基礎題。。唯一需要注意的就是long long了.

當然我是使用的樹狀數組:

題目中操作屬于區間更新?-?區間查詢<查詢點也是區間嘛>類型,可使用樹狀數組來實現.

令C[i]為從1至i號花的共同更新之和.

首先考慮更新,add[l,r,v]?→?c[r]?+=?v?,?c[l-1]?-=v;

?Sum[x]?=?從?1?至?x?號花的value之和.

??Sum[x]?=?c[1]*1?+?c[2]*2?+?c[3]?*?3?.....?+?c[x]?*?x?+?(c[x+1]?+?....?C[n]?)?*x;

??????????= (segema)f(x)?+ (segema)g(x)?*?x;

??????????=?兩個樹狀數組,一個維護?c[i]*i?,一個維護c[i]

之后考慮區間查詢:

?Query(l?,?r)

?=?sum[r]?-?sum[l-1]

?

1 #include <iostream> 2 #include <cstring> 3 typedef long long ll; 4 using namespace std; 5 const int maxn = 1e5 + 50; 6 ll n; 7 ll f[maxn],g[maxn]; 8 9 10 inline ll lowbit(ll idx) 11 { 12 return idx & (-idx); 13 } 14 15 void updataf(ll idx,ll res) 16 { 17 if (!idx) 18 return; 19 while(idx <= n) 20 { 21 f[idx] += res; 22 idx += lowbit(idx); 23 } 24 } 25 26 void updatag(ll idx,ll res) 27 { 28 if (!idx) 29 return; 30 while(idx <= n) 31 { 32 g[idx] += res; 33 idx += lowbit(idx); 34 } 35 } 36 37 ll sumf(ll idx) 38 { 39 ll res = 0; 40 while(idx > 0) 41 { 42 res += f[idx]; 43 idx -= lowbit(idx); 44 } 45 return res; 46 } 47 48 ll sumg(ll idx) 49 { 50 ll res = 0; 51 while(idx > 0) 52 { 53 res += g[idx]; 54 idx -= lowbit(idx); 55 } 56 return res; 57 } 58 59 int main(int argc,char *argv[]) 60 { 61 ll m; 62 scanf("%lld%lld",&n,&m); 63 memset(f,0,sizeof(f)); 64 memset(g,0,sizeof(g)); 65 for(int j = 1 ; j <= n ; ++ j) 66 { 67 ll v; 68 scanf("%lld",&v); 69 updataf(j,v*j); 70 updataf(j-1,-v*(j-1)); 71 updatag(j,v); 72 updatag(j-1,-v); 73 } 74 while(m--) 75 { 76 ll i,j,v; 77 scanf("%lld%lld%lld",&i,&j,&v); 78 updataf(j,v*j); 79 updataf(i-1,-v*(i-1)); 80 updatag(j,v); 81 updatag(i-1,-v); 82 i--; 83 ll res1 = sumf(i) + i*(sumg(n)-sumg(i)); 84 ll res2 = sumf(j) + j*(sumg(n)-sumg(j)); 85 printf("%lld\n",res2 - res1); 86 } 87 return 0; 88 }

?

?

轉載于:https://www.cnblogs.com/Xiper/p/4470205.html

總結

以上是生活随笔為你收集整理的UESTC_秋实大哥与花 2015 UESTC Training for Data StructuresProblem B的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 日本福利视频导航 | 一级片aaaa| 色偷偷噜噜噜亚洲男人 | 无码人妻精品一区二区中文 | 国产美女菊爆在线播放APP | 精品一二三区 | 欧美一级性生活视频 | 亚洲精品一二三四区 | 亚洲最色网站 | 伊人网av在线 | 夜久久久| a级黄色在线观看 | 特级毛片av | 老司机性视频 | 日日射天天操 | 老司机精品视频在线 | 久久精品人妻av一区二区三区 | 国产成人主播 | 亚洲激情自拍 | 日韩av免费| 丰满熟妇被猛烈进入高清片 | 国产免费久久精品国产传媒 | 黄色片在线 | 日韩欧美在线一区二区 | 欧美黑丝少妇 | 成年人福利 | 亚洲熟女少妇一区 | 国产精品偷伦视频免费看 | 一级欧美一级日韩 | 中文字幕人妻精品一区 | 国产av无码专区亚洲精品 | 精品99999| 亚洲乱码久久 | 国产午夜精品无码一区二区 | 清冷学长被爆c躁到高潮失禁 | 国产无码精品合集 | 亚洲国产日韩欧美 | 国产午夜不卡 | 91蜜桃婷婷狠狠久久综合9色 | 欧美性久久久 | 无码人妻aⅴ一区二区三区69岛 | 超碰碰97| 国产一级片中文字幕 | 亚洲一区二区国产精品 | 国产乱轮视频 | 天天射日日干 | 综合久久五月 | 爽爽影院免费观看 | 1级av | 99热99| 国产又爽又猛又粗的视频a片 | 国产视频久久久久久久 | 色多多网站 | 中文国产在线观看 | 看成人片| 国产中文字幕三区 | 伊人久久97| 欧美性视频网站 | 精品乱码久久久久久中文字幕 | 多啪啪免费视频 | 男人日女人逼 | 办公室摸腿吻胸激情视频 | 在线中文字幕播放 | 校园春色欧美 | 奇米在线 | 亚洲黄色精品 | 青青操国产视频 | 中文字幕日本人妻久久久免费 | 九色视频网 | 欧美xxx视频 | 香蕉视频成人在线观看 | 狠狠操网| 国外成人性视频免费 | 狠狠的干狠狠的操 | 午夜写真片福利电影网 | 亚洲系列中文字幕 | 性色av蜜臀av | www.国产视频| 婷婷激情在线 | 亚洲无码精品一区二区三区 | www夜夜 | 杏导航aⅴ福利网站 | 少妇无内裤下蹲露大唇视频 | 精品国产99久久久久久宅男i | 日韩免费av在线 | 日本特黄特色aaa大片免费 | 精品一区二区久久久久久按摩 | 欧美日韩在线播放 | 天天视频亚洲 | 在线sese| 欧美cccc极品丰满hd | 国产福利一区二区视频 | 女同调教视频 | 午夜视频色 | 国产a免费 | 最新激情网站 | 男女裸体影院高潮 | 国产黑丝视频 | 亚洲成人久久精品 |