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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【Luogu P2781】 传教

發(fā)布時間:2025/3/15 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Luogu P2781】 传教 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這題是可以用線段樹做的。

雖然$n\leq 10^9$

可以發(fā)現,真正需要用到的節(jié)點很少,故動態(tài)開點,只有需要用到的時候才新建節(jié)點。

這里我在下放標記的時候新建節(jié)點,因為每操作/查詢一個節(jié)點都需要先下放標記。

時間復雜度$O(m\log n)$,空間復雜度$O(m\log n)$左右,擁有所有題解里面最優(yōu)的理論復雜度和最大的常數所以甚至跑的更慢

1 #include <bits/stdc++.h> 2 3 using namespace std; 4 5 typedef long long ll; 6 7 struct node { 8 ll data, tag; 9 node *lc, *rc; 10 11 node () { 12 data = 0, lc = rc = NULL; 13 } 14 15 void pushup() { 16 data = 0; 17 if(lc) data += lc->data; 18 if(rc) data += rc->data; 19 } 20 21 void pushtag(int l, int r) { 22 if(!lc) lc = new node; 23 if(!rc) rc = new node; 24 int mid = (l + r) >> 1; 25 lc->data += (mid - l + 1) * tag, lc->tag += tag; 26 rc->data += (r - mid) * tag, rc->tag += tag; 27 tag = 0; 28 } 29 30 } *st = new node; 31 32 void modify(node *cur, int l, int r, int ql, int qr, ll k) { 33 cur->pushtag(l, r); 34 if(ql <= l && r <= qr) { 35 cur->data += (r - l + 1) * k; 36 cur->tag = k; 37 } else { 38 int mid = (l + r) >> 1; 39 if(ql <= mid) modify(cur->lc, l, mid, ql, qr, k); 40 if(qr > mid) modify(cur->rc, mid + 1, r, ql, qr, k); 41 cur->pushup(); 42 } 43 } 44 45 ll query(node *cur, int l, int r, int ql, int qr) { 46 cur->pushtag(l, r); 47 if(ql <= l && r <= qr) { 48 return cur->data; 49 } 50 int mid = (l + r) >> 1; ll ans = 0; 51 if(ql <= mid) ans += query(cur->lc, l, mid, ql, qr); 52 if(qr > mid) ans += query(cur->rc, mid + 1, r, ql, qr); 53 return ans; 54 } 55 56 int main() { 57 int n, m, opt, x, y; ll z; 58 cin >> n >> m; 59 while(m--) { 60 cin >> opt; 61 if(opt == 1) { 62 cin >> x >> y >> z; 63 modify(st, 1, n, x, y, z); 64 } else { 65 cin >> x >> y; 66 cout << query(st, 1, n, x, y) << endl; 67 } 68 } 69 return 0; 70 } View Code

?

轉載于:https://www.cnblogs.com/zhylj/p/9488484.html

總結

以上是生活随笔為你收集整理的【Luogu P2781】 传教的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 天天爽夜夜爽人人爽 | 精品久久久久久一区二区里番 | 亚洲高清视频在线观看 | 在线播放91 | 日韩午夜在线视频 | 黄色av三级| 日韩黄| 久久久中文网 | 日本japanese丰满白浆 | 91肉色超薄丝袜脚交一区二区 | 114国产精品久久免费观看 | 男女天堂av | 日韩久久影视 | 在线观看黄色 | 借种(出轨高h) | 天天做天天躁天天躁 | 少妇熟女视频一区二区三区 | 九九精品九九 | 日本美女一级视频 | 久久国产精品久久久久久 | 国产精品极品白嫩 | 日本国产视频 | 神马久久久久久久久久 | 欧美日韩国产免费观看 | av激情久久 | 久久久久亚洲av成人人电影 | 51嘿嘿嘿国产精品伦理 | 活大器粗np高h一女多夫 | 日韩视频在线观看 | 51精产品一区一区三区 | 少妇一晚三次一区二区三区 | 狠狠澡 | 国产一区二区免费看 | 黑人专干日本人xxxx | 91麻豆精品国产91久久久久久久久 | 在线观看的av网站 | 女同hd系列中文字幕 | 精品黑人一区二区三区观看时间 | 香蕉在线看 | 久久综合久久鬼 | 国产suv精品一区二区68 | 丰满人妻一区二区三区免费 | 日韩精品短片 | 一道本在线观看视频 | 爱情岛论语亚洲入口 | 欧美亚洲一级 | 久久国产精品一区二区 | 黄色片中文字幕 | 精品欧美乱码久久久久久1区2区 | 91久久精品国产91久久 | 双性人bbww欧美双性 | 高清不卡毛片 | 成人3d动漫在线观看 | 横恋母在线观看 | 亚洲最新在线视频 | 少妇看片 | 好色婷婷| 美女无遮挡免费网站 | 亚洲欧美激情视频 | 艳妇臀荡乳欲伦交换gif | 久久天堂 | 亚洲午夜久久久久久久国产 | 欧美 日韩 国产 精品 | 91av一区二区三区 | 亚洲男女av | 操操操操操操 | 国产精品天干天干 | 免费三片在线视频 | 国产人妻精品午夜福利免费 | 人禽l交视频在线播放 视频 | 国产123区在线观看 91国产一区二区 | 国产最新视频在线 | 亚洲中文无码av在线 | 久草资源| 精品九九在线 | 国产精品v日韩精品v在线观看 | 中文字幕视频在线观看 | www成人| 黄色第一网站 | 伊人av综合网 | 天美视频在线观看 | 黄色大网站| 精品视频在线观看 | 国产成人无码www免费视频播放 | 九九视频免费观看 | 潘金莲裸体一级淫片视频 | 九九热在线视频播放 | 蜜桃av一区二区 | 国产欧美精品一区二区 | 青青草国产成人av片免费 | wwwwww国产| 国产一级免费看 | 草草福利影院 | 国产精品福利视频 | 91看片成人 | 欧美一级片免费在线观看 | 日韩黄色片子 | 99久久99久久 | 日本黄色大片免费 |