五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

CF競(jìng)賽題目講解_CF916E(線段樹(shù) + 樹(shù)鏈剖分)

2022-09-12 09:22 作者:Clayton_Zhou  | 我要投稿

?https://codeforces.com/contest/916/problem/E

題意:

有一棵n個(gè)點(diǎn)的樹(shù),每個(gè)節(jié)點(diǎn)上有一個(gè)權(quán)值wi,最開(kāi)始根為1號(hào)點(diǎn).現(xiàn)在有3種

類(lèi)型的操作:

? 1 root, 表示將根設(shè)為root.

? 2 u v x, 設(shè)u, v的最近公共祖先為p, 將p的子樹(shù)中的所有點(diǎn)的權(quán)值加上x(chóng).

? 3 u, 查詢u的子樹(shù)中的所有點(diǎn)的權(quán)值和.

對(duì)于類(lèi)型3操作,輸出答案.


題解:

線段樹(shù) + 樹(shù)鏈剖分


樹(shù)鏈剖分的意義在于:由于函數(shù)

int lca(int x,int y)

大量使用,如果不使用樹(shù)鏈剖分,當(dāng)樹(shù)退化為一根鏈時(shí),

int lca(int x,int y)的復(fù)雜度為O(n), 從而整個(gè)算法的復(fù)雜度為O(n^2)

使用樹(shù)鏈剖分時(shí),整個(gè)算法的復(fù)雜度為O(nlogn)


該程序的關(guān)鍵點(diǎn)是:

不實(shí)施換根,每次只記錄新根,并注意新根在后續(xù)操作的影響。

主要難點(diǎn):在不同新根位置下,求包含x,y 的最小子樹(shù)的根節(jié)點(diǎn)

?


CF競(jìng)賽題目講解_CF916E(線段樹(shù) + 樹(shù)鏈剖分)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
城口县| 吐鲁番市| 定安县| 兴和县| 汉沽区| 华蓥市| 华池县| 秦安县| 远安县| 昭通市| 河西区| 阿尔山市| 广昌县| 广宁县| 常德市| 蒲城县| 漯河市| 霍林郭勒市| 峨眉山市| 安达市| 泸西县| 东阳市| 石河子市| 大余县| 石柱| 调兵山市| 固阳县| 余姚市| 冷水江市| 监利县| 平阴县| 凤冈县| 德钦县| 英德市| 乌恰县| 奉贤区| 巧家县| 漳浦县| 招远市| 蛟河市| 合阳县|