最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
云浮市| 田林县| 哈尔滨市| 罗城| 廊坊市| 九龙城区| 鄂伦春自治旗| 湖北省| 信丰县| 平远县| 徐州市| 亳州市| 凤台县| 嫩江县| 拜泉县| 正蓝旗| 宝兴县| 榕江县| 沙雅县| 报价| 德保县| 广南县| 龙川县| 黄平县| 西宁市| 慈利县| 房产| 龙岩市| 左云县| 嘉鱼县| 尼玛县| 惠东县| 昌都县| 华蓥市| 丰县| 类乌齐县| 新野县| 涟源市| 沐川县| 阳高县| 固安县|