感覺又開了一個天坑真是開心... 還是先貼神犇鏈接補充閱讀吧: http://lazycal.logdown.com/posts/202331-bzoj3572 http://www.cnblogs.com/wuyuhan/p/5521249.html 例題 bzoj3572 世界樹 ...
概念: 給出一棵樹. 每次詢問選擇一些點,求一些東西.這些東西的特點是,許多未選擇的點可以通過某種方式剔除而不影響最終結果. 於是就有了建虛樹這個技巧..... 我們可以用log級別的時間求出點對間的lca.... 那么,對於每個詢問我們根據原樹的信息重新建樹,這棵樹中要盡量少地包含未選擇節點. 這棵樹就叫做虛樹. 接下來所說的 樹 均指虛樹,原來那棵樹叫做 原樹 . 構建過程如下: 按照原樹的d ...
2016-07-04 09:26 2 5964 推薦指數:
感覺又開了一個天坑真是開心... 還是先貼神犇鏈接補充閱讀吧: http://lazycal.logdown.com/posts/202331-bzoj3572 http://www.cnblogs.com/wuyuhan/p/5521249.html 例題 bzoj3572 世界樹 ...
虛樹 虛樹看起來很簡單的樣子。 事實上也的確很簡單。 我們先來知道一下虛樹是用來干什么的。 對於一個問題,我們知道他可以做樹型\(dp\) \(dp\)的類型大致是給你\(k\)個關鍵點,而\(dp\)的結果與這些關鍵點有關系 有\(m\)組詢問,需要你對於每組詢問進行回答。 並且有 ...
orzYCB 虛樹 %自為風月馬前卒巨佬% 用於優化一類樹形DP問題。 當狀態轉移只和樹中的某些關鍵點有關的時候,我們把這些點和它們兩兩之間的LCA弄出來,以點的祖孫關系連成一棵新的樹,這就是虛樹。 容易證明,如果關鍵點數量為\(m\),則虛樹點數不超過\(2m\)。 虛樹的構建 dfs原 ...
鬼知道為什么我又要開這個新坑,就挺離譜的。 虛樹這東西是在訂正模擬賽題目時遇到的,正解需要這個東西,但是我不會... 然后去學了一下感覺這個東西本身也不是很難,當然需要結合着題目來講,就會很容易懂了。 我們引入一道例題,並配合題目進行講解。 CF613D Kingdom and its ...
虛樹算法其實原理蠻簡單的就是,從一顆n個結點的原樹上在只取出必要結點成一顆新樹,這顆新樹必包含指定m個結點並保持原樹上的祖孫關系。 首先我們來解答一些問題 問:什么樣的結點是必要的呢?? 答:指定的m個結點和 這m個結點中任意兩個結點的最近公共祖先。 問:為啥要包含最近公共祖先呢? 答 ...
虛樹 虛樹的定義 虛樹:將樹上有用的節點建立新的圖,而舍去關鍵節點之間的沒有用處的節點 虛樹的用途:對於一些有關鍵點的圖而言,其余沒有用處的節點在操作的時候會作出很多的冗余操作,時間效率大大降低,而利用虛樹建圖就可以舍去沒有用的操作 前置知識1:\(dfs\)序 \(dfs\)序,顧名思義 ...
簡介 虛樹,顧名思義就是不真實的樹。 它往往出現在一類樹形動態規划問題中。 換句話說,虛樹實際就是為了解決一類樹形動態規划問題而誕生的! 我們從一道經典的虛樹題目入手 [SDOI2011]消耗戰 鏈接:https://www.luogu.org/problemnew/show ...
虛樹聽起來還是很牛逼的,,,,但是嘗試學一下之后發現其實並麻油很難,,,,至少基本的操作還是比較簡單的(雖然題目對我來說都還是比較難的QAQ 它可以理解為一棵樹的壓縮版,就是假如選取一部分點集,此時很多節點都是無用的,但是在做的時候又會做到,復雜度就不對,這個時候就考慮建一棵虛樹——也就是重新 ...