1. 程式人生 > >菜雞KKK在12.28 匡哥的引領下 理解的樹鏈剖分

菜雞KKK在12.28 匡哥的引領下 理解的樹鏈剖分

span 連續 gpo 屬於 樹鏈剖分 最短路 數據 會有 什麽

樹鏈剖分___步驟

一.按照dfs序 將點重新標號.

  首先,我們要理解,為什麽一定要按dfs序來標號,因為,樹鏈剖分要操作的是一棵樹上,改變兩個點之間最小路上邊的數據,主要是因為,每一條找到的最短路,他們點的dfs序,都可以拆成幾段連續的數值,所以我們可以聯想到線段樹,當然這是後面的步驟;每一條最短路既然都可以用這個dfs序來分解,所以就用dfs序來給點重新編號,這裏用一個id數組,表示用dfs標號後的每個點的位置.

  然後就可以對它這棵樹,剖分成幾條鏈.所以進行下一步操作.

二.按照重新標號後的編號,再繼續將整棵樹剖分成若幹條鏈.

  其實,在dfs序之後,就可以對整棵樹變成,幾條單位鏈,也就可以對任意的兩個點之間的最短路進行組合,也就是剖分組合.

   然後就可以引入幾個量:

  重兒子,重邊,重鏈,鏈頂

  然後就又是一遍dfs,帶上的參數,為當前的鏈頂和當前所到的點.然後對它進行拆解.拆解之後,每個點都屬於一條鏈,然後對於之後每個點的操作就會有很大的用處.

三.插入操作

 待續...

  

菜雞KKK在12.28 匡哥的引領下 理解的樹鏈剖分