時間限制:
2000 ms | 記憶體限制:
65535 kb
難度:5 描述
南將軍麾下有百萬精兵,現已知共有m個士兵,編號為0~m,每次有任務的時候,總會有一批編號連在一起人請戰(編號相近的人經常在一塊,相互之間比較熟悉),最終他們獲得的軍功,也將會平分到每個人身上,這樣,有時候,計算他們中的哪乙個人到底有多少軍功就是乙個比較困難的事情。
在這樣的情況下,南將軍卻經常會在許多次戰役之後詢問軍師小工第i號士兵到第j號士兵所有人的總軍功數。
請你幫助軍師小工回答南將軍的提問。
輸入
只有一組測試資料
第一行是三個整數n,c,q(1<=n,c,q<=1000000),其中n表示士兵的總數。
隨後的c行,每行有三個整數mi,ni,ai(0<=mi<=ni<=n,0<=ai<=100),表示從第mi號到第ni號士兵所有人平均增加了ai的軍功。
再之後的q行,每行有兩個正正數m,n,表示南將軍詢問的是第m號士兵到第n號士兵。
輸出請對每次詢問輸出m號士兵到第n號士兵的總軍功數,由於該數值可能太大,請把結果對10003取餘後輸出
樣例輸入
5 3 21 3 2
2 4 1
5 5 10
1 52 3
樣例輸出
196
**[張云聰]原創
這道題太坑啦!!!題目描述就有問題啊!一直wa!!!
從0開始,到n
#include#includeusing namespace std;
#define ll long long
ll a[1000010];
int main()
for(int i=1;i<=n;i++)
a[i]=(a[i]+a[i-1]);
for(int i=1;i<=n;i++)
a[i]=(a[i-1]+a[i])%10003;
while(q--)
return 0;
}
NYoj 116士兵殺敵(二)區間求和,單點更新
時間限制 1000 ms 記憶體限制 65535 kb 難度 5 描述南將軍手下有n個士兵,分別編號1到n,這些士兵的殺敵數都是已知的。小工是南將軍手下的軍師,南將軍經常想知道第m號到第n號士兵的總殺敵數,請你幫助小工來回答南將軍吧。南將軍的某次詢問之後士兵i可能又殺敵q人,之後南將軍再詢問的時候,...
NYOJ士兵殺敵5 線段樹的區間更新
初學線段樹 區域更新 實現原理 初始的時候,給每個樹節點都給乙個標記,當你在更新某一段區間的時候,要映入乙個標記陣列,來標記該樹節點更新後是否要將更新其子節點,如果該節點的標記值不為空,則表示要對該節點的子節點進行更新,更新完後取消該節點的標記 反之,則無需更新該節點的子節點,該線段樹所對應區間的值...
hdu 1698 區間更新
基礎題 初學 include include using namespace std define lson l m rt 1 define rson m 1 r rt 1 1 const int maxn 101000 int h w n int col maxn 2 標記是否當前節點梗係 int...