SSL 2648 線段樹練習題五 線段樹變式

2021-10-09 00:04:27 字數 1115 閱讀 1142

time limit:10000ms memory limit:65536k

case time limit:1000ms

一行n個方格,開始每個格仔裡的數都是0。現在動態地提出一些問題和修改:提問的形式是求某乙個特定的子區間[a,b]中所有元素的和;修改的規則是指定某乙個格仔x,加上或者減去乙個特定的值a。現在要求你能對每個提問作出正確的回答。1≤n≤100000,提問和修改的總數可能達到100000條。

20

//方格個數

6//有幾組操作

m 11

//表示修改,第乙個表示格仔位置,第二個數表示在原來的基礎上加上的數,

m 22

m 34

m 3-

5 m 6

7 c 2

6//表示統計 ,第乙個數表示起始位置,第二個數表示結束位置

8
根據讀入的字母做不同的線段樹函式就行了……

#include

#include

#include

#include

using

namespace std;

int x,y,m,n,a[

400010];

char ch;

void

insert

(int dep,

int l,

int r)

//插入函式

if(x<=mid)

insert(2

*dep,l,mid);if

(x>mid)

insert(2

*dep+

1,mid+

1,r)

; a[dep]

+=y;

}int

sum(

int dep,

int l,

int r,

int x,

int y)

//累加函式

intmain()

return0;

}

線段樹 SSL 2648 線段樹練習題五

給出幾個剛開始為0的格仔,我們可以進行兩種操作 1 修改 m x y 給格仔x加上y 2 查詢 c x y 格仔x到格仔y上的數的總和 線段樹。用cover表示當前這個區間裡的格仔的總和,每次修改的時候我們查詢到代表它那個範圍的節點,然後遞迴回它的根節累加,查詢就是查到了代表x到y的那個區間就返回c...

2648 線段樹練習題五

一行n個方格,開始每個格仔裡的數都是0。現在動態地提出一些問題和修改 提問的形式是求某乙個特定的子區間 a,b 中所有元素的和 修改的規則是指定某乙個格仔x,加上或者減去乙個特定的值a。現在要求你能對每個提問作出正確的回答。1 n 100000,提問和修改的總數可能達到100000條。線段樹,定義域...

SSLGZ 2648 線段樹練習五

問題描述 一行n個方格,開始每個格仔裡的數都是0。現在動態地提出一些問題和修改 提問的形式是求某乙個特定的子區間 a,b 中所有元素的和 修改的規則是指定某乙個格仔x,加上或者減去乙個特定的值a。現在要求你能對每個提問作出正確的回答。1 n 100000,提問和修改的總數可能達到100000條。樣例...