原文:線段樹的懶惰標記小筆記

線段樹可以進行區間更新,但是相比較於普通的線段樹單點更新和區間查詢的功能來說,區間更新與其最大的不同就是在與區間更新需要加一個懶惰標記,來記下對懶惰標記的理解。 懶惰標記用來干什么 解釋: 理論上來說,如果 , 這個區間被修改的話,那么下圖中的所有綠色的結點的值都要得到重新計算的: 但是實際上是沒有必要這么做的 我們可以引進一種叫做Lazy Tag,即延遲標記的東西 的確對於 , 這樣一次修改操作 ...

2019-07-16 13:56 0 513 推薦指數:

查看詳情

區間更新和懶惰標記線段

區間更新和懶惰標記線段 前言 普通版本的線段進行的是 單點更新 和 區間查詢 . 對於帶有 懶惰標記線段, 則可以進行 區間更新. 懶惰標記的意義 代表了這個結點的值已經被更新過了, 但是沒有進行子樹的結點值更改操作, 用lazy數組標記一下. 所以, 每次進行值的更新和查詢 ...

Tue Oct 31 05:28:00 CST 2017 0 1072
LeetCode LCP 05. 發 LeetCoin DFS序+帶懶惰標記線段

題目描述 力扣決定給一個刷題團隊發 LeetCoin 作為獎勵。同時,為了監控給大家發了多少 LeetCoin,力扣有時候也會進行查詢。 該刷題團隊的管理模式可以用一棵表示: 團隊只有一個負責人,編號為 1。除了該負責人外,每個人有且僅有一個領導(負責人沒有領導); 不存在循環 ...

Mon Feb 21 02:56:00 CST 2022 0 3572
帶lazy標記線段

線段的lazy操作 以POJ 2777 Count Color為例。 線段,是一個滿的二叉樹,每次每一個子節點都是父節點的一半。所以二叉樹的每個節點都維護了一個區間。可是實現快速的查詢。 對於更新來講的話,如果每次都更新到最下面的節點,會非常的耗時間。所以假如更新到某個節點的時候,而這 ...

Thu Apr 07 07:23:00 CST 2016 0 2317
線段標記永久化

線段標記永久化 其實線段標記永久化是一個非常容易理解的東西,往往我們都會在區間操作時打lazytag,但是在標記下放時會耗費大量的時間,所以我們可以嘗試標記永久化,這樣我們的就不用下放標記,同時代碼也更加簡潔,因為我們少了一個pushdown函數,同時出錯率也會大大降低 ...

Thu Jul 26 17:07:00 CST 2018 0 830
線段標記永久化

前言 對於,主席等使用到線段的比較復雜的數據結構,如果區間修改的話,打標記后pushdown或者pushup是很難做到的完全不行吧 所以這個時候,一個神奇的東西誕生了。。。 正題 線段標記永久化,維護一個標記,假設為cov,再維護一個sum 假設修改區間[ql, qr]全部加上v ...

Sat Jan 06 17:25:00 CST 2018 0 1029
線段學習筆記

前言 寫得確實挺爛的,當時碼風也不怎么樣,不喜勿噴. 線段 線段的作用&原理 線段是一種二叉搜索,與區間相似,它將一個區間划分成一些單元區間,每個單元區間對應線段中的一個葉結點。 使用線段可以快速的查找某一個節點在若干條線段中出現的次數,時間復雜度為O(logn ...

Fri Jan 10 23:40:00 CST 2020 3 489
筆記線段

寫在前面 大概是筆記吧 部分內容引用了\(\texttt{OI-Wiki}\)和【AgOHの數據結構】主席 部分圖片出處:【AgOHの數據結構】主席 感謝 LuckyBlock 同學提供了 例3、例12 和 例15 的鏈接 如果有題目鏈接或者文章出現了錯誤,歡迎指出! 基本區間操作 ...

Mon Aug 10 23:55:00 CST 2020 8 150
zkw線段學習筆記

ZKW線段 應某迪要求,寫一篇數據結構學習筆記。 實際上還沒有學很多東西,只是一些基礎的操作。 zkw線段的學習資料,網上有很多,這里記錄的只是自己的一些理解。 建樹 $zkw$線段構造了一棵完美二叉樹,只有最后一層葉子節點管轄的區間大小為1。 $zkw ...

Tue Oct 08 03:22:00 CST 2019 15 179
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM