線段樹(含懶標記)模板

2021-09-29 08:10:43 字數 2053 閱讀 3805

理解分析:鏈結

#include using namespace std;

typedef long long ll;

int n,m, a, b, x, y,p, ans;

struct nodetree[400005];

void build(int k,int ll,int rr)

int mid = (ll + rr) / 2;

build(k * 2, ll, mid);

build(k * 2 + 1, mid + 1, rr);

tree[k].w = tree[k * 2].w + tree[k * 2 + 1].w;

}void down(int k)

void ask_point(int k)

if (tree[k].f)down(k);

int mid = (tree[k].l + tree[k].r) / 2;

if (x <= mid)ask_point(k * 2);

else ask_point(k * 2 + 1);

}void change_point(int k)

if (tree[k].f)down(k);

int mid = (tree[k].l + tree[k].r) / 2;

if (x <= mid)change_point(k * 2);

else change_point(k * 2 + 1);

tree[k].w = tree[k * 2].w + tree[k * 2 + 1].w;

}void ask_interval(int k)

if (tree[k].f)down(k);

int mid = (tree[k].r + tree[k].l) / 2;

if (a <= mid)ask_interval(k * 2);

if (b > mid)ask_interval(k * 2 + 1);

}void change_interval(int k)

if (tree[k].f)down(k);

int mid = (tree[k].r + tree[k].l) / 2;

if (a <= mid)change_interval(k * 2);

if (b > mid)change_interval(k * 2 + 1);

tree[k].w = tree[k * 2].w + tree[k * 2 + 1].w;

}int main()

else if (p == 2)

else if (p == 3)

else

} return 0;

}

阿里雲建站—為企業提供網際網路「快」服務

2023年因為一場突如其來的疫情,不少企業受到了嚴重衝擊,疫情的衝擊力對傳統「純線

下」行業的危害最大,網際網路女皇瑪麗·公尺克(marymeeker)4月17日發布了著名的年度互

聯網趨勢報告,報告中指出:擁有強大的網際網路線上線下融合能力的企業在疫情中的表現最好,

線上線下融合的趨勢已經存在一段時間了,但是疫情讓這種需求變得更加的迫切。

如果你的企業完全依附於傳統的、純線下的經驗模式,那麼在2023年你將「必死無疑」,

一場巨大的,前所未有的網際網路革命已經到來!

阿里雲建站為了助力各行各業復工復產,疫情期間「馬不停蹄」為數以萬計的企業快速完成

建站,為他們朝著「線上線下融合」或者「純線上」的網際網路經營模式邁進,打下了堅實的基礎。

「雲·速成美站」模板建站1天就能上線,不懂技術沒關係,打字就能建**。千套**模

板免費提供,百元就能建官網,一價全包,無任何**消費。

「雲·企業官網」定製建站1周就能上線,高階量身定製建站,千元建官網無需自己動手,

建站專家1對1**策劃及設計,專業省心之選。

疫情,是一場大浪淘沙,每一次危機背後都隱藏著機會,危機越大,機會也越大。大環境

已經改變,如果你不努力不去改變來迎合這個大環境,那你必將被淘汰。

阿里雲助力企業建站,優惠多多,福利多多,詳情如下鏈結

線段樹標記永久化模板

題目如下 poj 3468 輸入整數n,q,然後輸入n個數的序列,再然後輸入q條詢問,詢問有兩種型別 q l r 代表列印出區間 l,r 的和 c l r v 代表區間 l,r 區間的數都加v 基本思路 這裡選擇線段樹,主要是為了練習線段樹標記永久化 下面介紹線段樹標記永久化 如下 include ...

模板 線段樹 (線段樹的懶惰標記)

如題,已知乙個數列,你需要進行下面兩種操作 將某區間每乙個數加上 k。求出某區間每乙個數的和。第一行包含兩個整數 n,m,分別表示該數列數字的個數和操作的總個數。第二行包含 n 個用空格分隔的整數,其中第 i個數字表示數列第 i項的初始值。接下來 m行每行包含 33 或 44 個整數,表示乙個操作,...

線段樹模板 (poj 3468)延遲標記

參考了胡浩大牛的 風格。include define lson l,m,rt 1 define rson m 1,r,rt 1 1 const int maxn 100010 long long add maxn 4 1 long long sum maxn 4 1 void pushup int ...