原文:區間更新和懶惰標記的線段樹

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

2017-10-30 21:28 0 1072 推薦指數:

查看詳情

線段懶惰標記小筆記

線段可以進行區間更新,但是相比較於普通的線段單點更新和區間查詢的功能來說,區間更新與其最大的不同就是在與區間更新需要加一個懶惰標記,來記下對懶惰標記的理解。 懶惰標記用來干什么? 解釋: 理論上來說,如果[3, 9]這個區間被修改的話,那么下圖中的所有綠色的結點的值都要得到重新計算 ...

Tue Jul 16 21:56:00 CST 2019 0 513
poj3468(線段區間更新&區間求和模板)

題目鏈接: http://poj.org/problem?id=3468 題意: 輸入 n, m表初始有 n 個數, 接下來 m 行輸入, Q x y 表示詢問區間 [x, y]的和; C x y z 表示區間 [x, y] 內所有數加上 z ; 思路: 線段區間更新& ...

Wed Jun 14 04:35:00 CST 2017 0 3721
LeetCode LCP 05. 發 LeetCoin DFS序+帶懶惰標記線段

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

Mon Feb 21 02:56:00 CST 2022 0 3572
線段區間

目錄 為什么要使用線段? 什么是線段? 創建一棵線段 線段的查詢操作 線段更新操作 為什么要使用線段? 最經典的線段問題:區間染色   有一面牆 ,長度為n,每次選擇一段兒牆進行染色,m次操作后 ...

Sun Apr 12 16:18:00 CST 2020 0 907
線段區間更新操作及Lazy思想(詳解)

此題題意很好懂: 給你N個數,Q個操作,操作有兩種,‘Q a b ’是詢問a~b這段數的和,‘C a b c’是把a~b這段數都加上c。 需要用到線段的,update:成段增減,query:區間求和 介紹Lazy思想:lazy-tag思想,記錄每一個線段樹節點的變化值,當這部分線段的一致性 ...

Mon May 01 17:05:00 CST 2017 8 5992
HDU4578 線段(區間更新 + 多種操作)

  題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=4578 , 線段區間更新 + 多種操作,好題。   雖然是比較裸的線段,但是比較麻煩,並且有很多細節需要考慮,最后我7.3s很驚險地過了,求大神告知優化方法。   這道題 ...

Mon Feb 23 20:28:00 CST 2015 1 2367
帶lazy標記線段

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

Thu Apr 07 07:23:00 CST 2016 0 2317
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM