欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報邀請碼778899分享:[藍橋杯學習] 樹鏈剖分

柚子快報邀請碼778899分享:[藍橋杯學習] 樹鏈剖分

http://yzkb.51969.com/

定義

將樹分割成若干條鏈,以維護樹上的信息,若無特殊需求,一般是重鏈剖分。

重鏈剖分

如何重鏈剖分

兩個dfs

第一個dfs是預處理各個結點的基本信息,第二個dfs是利用信息進行剖分(dfs序)

操作步驟

第一次dfs

更新當前結點信息(子樹個數(shù)、父結點信息、深度)對子結點進行dfs子結點dfs之后,把子結點的子樹個數(shù)加到父結點,更新重兒子。

第二次dfs

因為dfs序連續(xù)的值是一條鏈,所以,我們需要讓樹在進行dfs時,優(yōu)先對重兒子進行dfs,之后再對其它輕兒子進行dfs

重鏈剖分的應用

將剖分的重鏈放在線段數(shù)組或者樹狀數(shù)組上,然后在這個數(shù)據(jù)結構上進行維護。

對某條鏈上的節(jié)點進行更新

用數(shù)據(jù)結構對節(jié)點信息進行維護,進行區(qū)間查詢,區(qū)間更新。

對某節(jié)點子樹進行更新/查詢

由dfs序可知,某節(jié)點的入序和出序之間的連續(xù)數(shù)就是該節(jié)點的子樹。

查詢兩節(jié)點的最近公共祖先LCA

操作步驟:

當兩節(jié)點不在同一條鏈上時,選擇深度更淺的結點,跳到父鏈(鏈首的父結點)當兩節(jié)點在同一條鏈上時,深度更淺的點就是最近公共祖先LCA

查詢、修改兩節(jié)點之間路徑的信息

主體還是尋找LCA,就是如果跳到父鏈(或是其它點),把x到它首結點(其它點)之間結點信息進行更新。

柚子快報邀請碼778899分享:[藍橋杯學習] 樹鏈剖分

http://yzkb.51969.com/

參考文章

評論可見,查看隱藏內容

本文內容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉載請注明,如有侵權,聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/19014962.html

發(fā)布評論

您暫未設置收款碼

請在主題配置——文章設置里上傳

掃描二維碼手機訪問

文章目錄