時間限制:
1000 ms | 記憶體限制:
65535 kb
難度:3 描述
南將軍手下有n個士兵,分別編號1到n,這些士兵的殺敵數都是已知的。
小工是南將軍手下的軍師,南將軍現在想知道第m號到第n號士兵的總殺敵數,請你幫助小工來回答南將軍吧。
注意,南將軍可能會問很多次問題。
輸入
只有一組測試資料
第一行是兩個整數n,m,其中n表示士兵的個數(1
輸出對於每乙個詢問,輸出總殺敵數
每個輸出佔一行
樣例輸入
5 2樣例輸出1 2 3 4 5
1 32 4
6模板題卻錯了三發9
第一次陣列開的太小,第二次開到4000000(學長說開到題中資料*4),爆了,然後開到2000000,不夠,又開到3000000,這才過,,,,
ac**:
#include#includeusing namespace std;
struct node
tree[3000000];
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 findsum(int o,int l,int r,int x,int y) //查詢x到y的和
int mid = (l+r) / 2;
if(y<=mid)
return findsum(o*2,l,mid,x,y);
else if(x>mid)
return findsum(o*2+1,mid+1,r,x,y);
else
return findsum(o*2,l,mid,x,mid)+findsum(o*2+1,mid+1,r,mid+1,y);
} int main()
return 0;
}
南陽OJ108 士兵殺敵(一)(線段樹)
士兵殺敵一 士兵殺敵 一 時間限制 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號士兵的總殺敵數,請你幫助小工來回答南將軍吧。注意,南將軍可能會問很多次問題。輸入 只有一...