HDU 1166 敵兵布陣 線段樹

2021-08-15 23:52:30 字數 1181 閱讀 2541

題目鏈結

給定乙個區間,在區間上有三個操作。

add:第i個座標加上j

sub:第i個座標減去j

query:查詢i到j區間的和

資料範圍過大,暴力肯定撞牆,線段樹問題,單點更新求區間和,線段樹的入門模板題。

#include 

#include

#include

#include

#define lc left, mid, root << 1

#define rc mid + 1, right, root << 1 | 1

using

namespace

std;

const

int maxn = 5e4 + 10;

int sum[maxn << 2];

void push_up(int root)

void build(int left, int right, int root)

int mid = (left + right) >> 1;

build(lc);

build(rc);

push_up(root);

}void update(int left, int right, int root, int a, int b)

int mid = (left + right) >> 1;

if(a <= mid) update(lc, a, b);

else update(rc, a, b);

push_up(root);

}int query(int left, int right, int root, int a, int b)

int mid = (left + right) >> 1;

int ans = 0;

if(b <= mid) ans += query(lc, a, b);

else

if(a > mid) ans += query(rc, a, b);

else

return ans;

}int main()

else

if(!strcmp(c, "sub"))

else}}

return

0;}

HDU 1166 敵兵布陣 線段樹

第一道線段樹的題目,正在學習中 include include include using namespace std define max 55555 int sum max 2 n void pushup int rt void build int l,int r,int rt int mid ...

hdu1166敵兵布陣 線段樹

problem description c國的死對頭a國這段時間正在進行軍事演習,所以c國間諜頭子derek和他手下tidy又開始忙乎了。a國在海岸線沿直線布置了n個工兵營地,derek和tidy的任務就是要監視這些工兵營地的活動情況。由於採取了某種先進的監測手段,所以每個工兵營地的人數c國都掌握的...

A 敵兵布陣 線段樹 hdu 1166

a 敵兵布陣 time limit 1000ms memory limit 32768kb 64bit io format i64d i64u submit status practice hdu 1166 description c國的死對頭a國這段時間正在進行軍事演習,所以c國間諜頭子derek...