hdu1698 線段樹成段更新

2021-08-04 01:39:23 字數 666 閱讀 5687

成段更新

(通常這對初學者來說是一道坎

),需要用到延遲標記

(或者說懶惰標記

),簡單來說

就是每次更新的時候不要更新到底

,用延遲標記使得更新延遲到下次需要更新

or 詢問到的

時候#include #include#define lson l,m,rt<<1

#define rson m+1,r,rt<<1|1

using namespace std;

const int maxn=2e5;

int sum[maxn<<2],col[maxn<<2];

void pushup(int rt)

void build(int l,int r,int rt)

int m=(l+r)>>1;

build(lson);

build(rson);

pushup(rt);

}void pushdown(int rt,int len)

}void update(int v,int l,int r,int l,int r,int rt)

pushdown(rt,r-l+1);

int m=(l+r)>>1;

if(m>=l)update(v,l,r,lson);

if(m

HDU 1698 線段樹高階,成段更新

成段更新 通常這對初學者來說是一道坎 需要用到延遲標記 或者說懶惰標記 簡單來說就是每次更新的時候不要更新到底,用延遲標記使得更新延遲到下次需要更新or詢問到的時候 include using namespace std define lson l,m,rt 1 define rson m 1,r,...

HDU 1698 線段樹區間更新

之前一直覺得自己線段樹敲得很熟練,然後。某天。是的,就是我的資料結構周開始的時候我發現。我特麼才會單點更新是怎麼回事!只會區間查詢是腫麼回事!摔!恩。就是表達一下弱渣的心情。區間更新,用到延遲操作。延遲操作應該是這麼回事。線段樹的優越性就是體現在,第一是二分查詢,第二是區間操作。當我們需要多次對區間...

hdu1698線段樹(區間更新)

題目鏈結just a hook 乙個鎖鏈,其組成成部分有三種材料,金銀銅,分數為3 2 1,每次可以更換一段的材料,求最後的分數 鉤子最多長100,000 操作最多有100,000次,肯定不能暴力 線段樹 延遲標記lazy 每個節點新增加乙個標記 lazy 每次要更新節點時,不更新到葉節點,記錄這個...