線段樹優化建圖 在有些數據范圍內是不允許我們把圖上的所有邊建出來的 然后我們對編號為下標建線段樹 線段樹上的每個節點的 \(l\) 和 \(r\) 就是把 \(l\rightarrow r\) 中的所有點縮到一個點表示了 然后這里我們完善一下: 把每個點拆一下,成一個入點,一個出點,分別 ...
一 引入 先來看一道題:CF B Legacy。 題目大意:有 n 個點 q 次操作。每一種操作為以下三種類型中的一種: 操作一:連一條 u to v 的有向邊,權值為 w 。 操作二:對於所有 i in l,r 連一條 u to i 的有向邊,權值為 w 。 操作三:對於所有 i in l,r 連一條 i to u 的有向邊,權值為 w 。 求從點 s 到其他點的最短路。 leq n,q leq ...
2020-10-03 15:37 2 484 推薦指數:
線段樹優化建圖 在有些數據范圍內是不允許我們把圖上的所有邊建出來的 然后我們對編號為下標建線段樹 線段樹上的每個節點的 \(l\) 和 \(r\) 就是把 \(l\rightarrow r\) 中的所有點縮到一個點表示了 然后這里我們完善一下: 把每個點拆一下,成一個入點,一個出點,分別 ...
一個點向一個點連邊太easy了。 現實有的時候並沒有這么簡單。 對於這樣的一類問題:需要多次(m=1e5次左右)從一個編號在[L1,R1]的區間內的所有點,向另一個編號在[L2,R2]的所有點之間分別連權值相同的邊。 求S到T的最短路,或者其他的信息。 就是一個建圖的輔助工具。解題 ...
這一篇講線段樹優化建圖。 發現網上關於線段樹優化建圖的博客很少而且講的不是很詳細,很多人會看得比較懵。 於是原本這一篇打算講樹鏈剖分的就改成講優化建圖了。 前置知識:動態開點線段樹 看到標題你可能會感覺奇怪,線段樹和建圖有什么關系? 事實上,線段樹優化建圖就是利用兩棵線段樹,減少連邊數量 ...
朴素(即搜索) O(n)-O(n) 2.線段樹(segment tree) O(n)-O(qlogn) ...
題意 給你 \(n\) 個武器,\(m\) 個敵人,問你最多消滅多少個敵人,並輸出方案。 總共有三種武器。 SQL 火箭 - 能消滅給你集合中的一個敵人 \(\sum |S| \le 10 ...
前言 寫得確實挺爛的,當時碼風也不怎么樣,不喜勿噴. 線段樹 線段樹的作用&原理 線段樹是一種二叉搜索樹,與區間樹相似,它將一個區間划分成一些單元區間,每個單元區間對應線段樹中的一個葉結點。 使用線段樹可以快速的查找某一個節點在若干條線段中出現的次數,時間復雜度為O(logn ...
寫在前面 大概是筆記吧 部分內容引用了\(\texttt{OI-Wiki}\)和【AgOHの數據結構】主席樹 部分圖片出處:【AgOHの數據結構】主席樹 感謝 LuckyBlock 同學提供了 例3、例12 和 例15 的鏈接 如果有題目鏈接或者文章出現了錯誤,歡迎指出! 基本區間操作 ...
I. (線段樹)CF786B Legacy 太經典了。 看到區間想到線段樹,在線段樹上連邊跑 Dijkstra 即可。 具體來說,建兩棵樹,一棵只連入邊,另一棵只連出邊。入邊的樹父節點向子節點連邊(如果子節點向父節點連邊,會導致本來只連向該區間的邊通過子節點向父節點連的邊連向了更大的區間 ...