五月天青色头像情侣网名,国产亚洲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ó)家法律
金山区| 德兴市| 永州市| 湖州市| 金山区| 北票市| 申扎县| 揭东县| 胶州市| 泾阳县| 邓州市| 凯里市| 彰化市| 桦南县| 宜丰县| 马尔康县| 阿克| 泰州市| 凤山县| 河池市| 新田县| 阜新| 汉阴县| 什邡市| 保亭| 沛县| 定南县| 射洪县| 泾川县| 昌黎县| 东台市| 鄯善县| 天祝| 清丰县| 乌兰察布市| 固始县| 尼勒克县| 邛崃市| 陈巴尔虎旗| 九台市| 南投县|