南陽OJ108 士兵殺敵(一)(線段樹)

2021-08-06 03:16:35 字數 991 閱讀 3608

士兵殺敵一

士兵殺敵(一)

時間限制:1000 ms | 記憶體限制:65535 kb

難度:3

描述 南將軍手下有n個士兵,分別編號1到n,這些士兵的殺敵數都是已知的。

小工是南將軍手下的軍師,南將軍現在想知道第m號到第n號士兵的總殺敵數,請你幫助小工來回答南將軍吧。

注意,南將軍可能會問很多次問題。

輸入 只有一組測試資料

第一行是兩個整數n,m,其中n表示士兵的個數(1< n<1000000),m表示南將軍詢問的次數(1< m<100000)

隨後的一行是n個整數,ai表示第i號士兵殺敵數目。(0<=ai<=100)

隨後的m行每行有兩個整數m,n,表示南將軍想知道第m號到第n號士兵的總殺敵數(1<=m,n<=n)。

輸出 對於每乙個詢問,輸出總殺敵數

每個輸出佔一行

樣例輸入

5 2

1 2 3 4 5

1 3

2 4

樣例輸出 6 9

線段樹比較具體的**說明:

這題就是直接運用

#include

#include

#include

using namespace std;

struct node

soldier[1000000

<<2]; //四倍 空間

void pushup(int o)

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

int mid=(l+r)/2;

build(o*2,l,mid);

build(o*2+1,mid+1,r);

pushup(o);

}int

kill(int o,int l,int r,int

x,int

y)int main()

return

0;}

南陽OJ 108 士兵殺敵(一) 線段樹模板

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 南將軍手下有n個士兵,分別編號1到n,這些士兵的殺敵數都是已知的。小工是南將軍手下的軍師,南將軍現在想知道第m號到第n號士兵的總殺敵數,請你幫助小工來回答南將軍吧。注意,南將軍可能會問很多次問題。輸入 只有一組測試資料 第一行是...

nyoj108 士兵殺敵(一) (線段樹)

描述南將軍手下有n個士兵,分別編號1到n,這些士兵的殺敵數都是已知的。小工是南將軍手下的軍師,南將軍現在想知道第m號到第n號士兵的總殺敵數,請你幫助小工來回答南將軍吧。注意,南將軍可能會問很多次問題。輸入 只有一組測試資料 第一行是兩個整數n,m,其中n表示士兵的個數 1 輸出對於每乙個詢問,輸出總...

NYOJ 108 士兵殺敵(一)(線段樹)

link 點我點我 時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 南將軍手下有n個士兵,分別編號1到n,這些士兵的殺敵數都是已知的。小工是南將軍手下的軍師,南將軍現在想知道第m號到第n號士兵的總殺敵數,請你幫助小工來回答南將軍吧。注意,南將軍可能會問很多次問題。輸入 只有一...