国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

洛谷P4172_動態(tài)樹(Link Cut Tree)

2022-07-23 15:00 作者:Clayton_Zhou  | 我要投稿

https://www.luogu.com.cn/problem/P4172

一個關(guān)鍵點是把邊看成點?,加一條邊u-v,編號為id,則

link(u,id);link(v,id);

每次求出 u 到 v 路徑上的最大值,若大于要加的邊的邊權(quán),則斷開路徑上的邊權(quán)最大的邊,z再加上要加的邊即可。刪邊操作 與 加邊操作 用 LCT 完成。

逆序處理query,將刪除操作變成加邊操作。


在旋轉(zhuǎn)操作中,只pushup k的父親p

void rot(int k){

int p=ar[k].fa;

int dir=ar[p].sn[1]==k,id=ar[ar[p].fa].sn[1]==p;

ar[k].fa=ar[p].fa;

if(!isrt(p)) ar[ar[p].fa].sn[id]=k;

ar[ar[k].sn[dir^1]].fa=p,ar[p].sn[dir]=ar[k].sn[dir^1];

ar[p].fa=k,ar[k].sn[dir^1]=p,pushup(p);

}



洛谷P4172_動態(tài)樹(Link Cut Tree)的評論 (共 條)

分享到微博請遵守國家法律
石台县| 方山县| 宣汉县| 翁源县| 高邑县| 增城市| 海晏县| 德江县| 许昌县| 禹州市| 渑池县| 青河县| 色达县| 临泉县| 富锦市| 大悟县| 宜城市| 建平县| 建德市| 广汉市| 博野县| 博乐市| 米泉市| 称多县| 丁青县| 甘孜县| 泰州市| 三门峡市| 垫江县| 平果县| 铜梁县| 兴业县| 宾川县| 五寨县| 惠州市| 新安县| 苗栗市| 安宁市| 隆昌县| 正蓝旗| 砚山县|