/*士兵殺敵(二)
時間限制:1000 ms | 記憶體限制:65535 kb
難度:5
描述 南將軍手下有n個士兵,分別編號1到n,這些士兵的殺敵數都是已知的。
小工是南將軍手下的軍師,南將軍經常想知道第m號到第n號士兵的總殺敵數,請你幫助小工來回答南將軍吧。
南將軍的某次詢問之後士兵i可能又殺敵q人,之後南將軍再詢問的時候,需要考慮到新增的殺敵數。
輸入 只有一組測試資料
第一行是兩個整數n,m,其中n表示士兵的個數(1~1000000),m表示指令的條數。(1~100000)
隨後的一行是n個整數,ai表示第i號士兵殺敵數目。(0<=ai<=100)
隨後的m行每行是一條指令,這條指令包含了乙個字串和兩個整數,首先是乙個字串,如果是字串query則表示南將軍進行了查詢操作,後面的
兩個整數m,n,表示查詢的起始與終止士兵編號;如果是字串add則後面跟的兩個整數i,a(1<=i<=n,1<=a<=100),表示第i個士兵新增殺敵數為a.
輸出 對於每次查詢,輸出乙個整數r表示第m號士兵到第n號士兵的總殺敵數,每組輸出佔一行
樣例輸入
5 6
1 2 3 4 5
query 1 3
add 1 2
query 1 3
add 2 3
query 1 2
query 1 5
樣例輸出
6 8
8 20*/
第二種方法時間較長
#include
int c[1000000],n;
int lowbit(int n)
void add(int i,int delta)
}int
sum(int i)
return
sum;
}int main()
while(m--)
return
0;}
#include
int a[1000010];
int main()
else
if(s[0]=='q')
}return
0;}
士兵殺敵(二)
時間限制 1000 ms 記憶體限制 65535 kb 難度 5 描述 南將軍手下有n個士兵,分別編號1到n,這些士兵的殺敵數都是已知的。小工是南將軍手下的軍師,南將軍經常想知道第m號到第n號士兵的總殺敵數,請你幫助小工來回答南將軍吧。南將軍的某次詢問之後士兵i可能又殺敵q人,之後南將軍再詢問的時候...
士兵殺敵(二)
時間限制 1000 ms 記憶體限制 65535 kb 難度 5 描述 南將軍手下有n個士兵,分別編號1到n,這些士兵的殺敵數都是已知的。小工是南將軍手下的軍師,南將軍經常想知道第m號到第n號士兵的總殺敵數,請你幫助小工來回答南將軍吧。南將軍的某次詢問之後士兵i可能又殺敵q人,之後南將軍再詢問的時候...
士兵殺敵(二)
時間限制 1000 ms 記憶體限制 65535 kb 難度 5 描述 南將軍手下有n個士兵,分別編號1到n,這些士兵的殺敵數都是已知的。小工是南將軍手下的軍師,南將軍經常想知道第m號到第n號士兵的總殺敵數,請你幫助小工來回答南將軍吧。南將軍的某次詢問之後士兵i可能又殺敵q人,之後南將軍再詢問的時候...