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

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

CF競賽題目講解_CF487E(線段樹 + 樹鏈剖分+ Tarjan算法)

2022-09-20 10:50 作者:Clayton_Zhou  | 我要投稿

https://codeforces.com/problemset/problem/487/E

?

題意:

已知一張n個點m條邊的圖,每個點有點權,我們有q次操作,有兩種操作,

第一種是改變一個點的點權;第二種是詢問兩點之間可能走過的簡單路徑中的所有點的最小點權。

n,m,q都是1e5量級。


題解:

遇到這種圖上簡單路徑問題應該考慮建出圓方樹,使用Tarjan算法。

每個方點用一個multiset維護權重。

對于每個方點,只維護方點兒子的最小值,不維護方點父親的值。

對于所有方點,不去維護它在圓方樹上的父親,那么對于每一次修改,只會波及它在圓方樹上的方點父親。

在圓方樹上,兩圓點之間的唯一路徑一定經(jīng)過最近公共祖先。

而如果在某一次詢問中兩點之間的最近公共祖先(LCA)為方點,

還需要額外考慮這個點的父親的權值。


最后樹鏈剖分加線段樹維護最小值。


CF競賽題目講解_CF487E(線段樹 + 樹鏈剖分+ Tarjan算法)的評論 (共 條)

分享到微博請遵守國家法律
武强县| 合肥市| 尚义县| 永康市| 齐河县| 唐河县| 禄丰县| 辽阳县| 滁州市| 杭锦旗| 敦煌市| 大宁县| 常州市| 汤阴县| 彩票| 论坛| 和平区| 元氏县| 和田县| 贵南县| 阿合奇县| 红桥区| 金湖县| 扶风县| 汉中市| 平昌县| 黄梅县| 阜新市| 鄂伦春自治旗| 张家界市| 曲阜市| 平潭县| 福泉市| 洪湖市| 海安县| 忻城县| 北安市| 襄城县| 遵化市| 永登县| 霍山县|