洛谷P2357 守墓人

2021-08-15 14:14:29 字數 2368 閱讀 9004

在乙個荒涼的墓地上

有乙個令人尊敬的守墓人, 他看守的墓地從來

沒有被盜過, 所以人們很放心的把自己的先人的墓

安頓在他那

守墓人能看好這片墓地是必然而不是偶然.....

因為....守墓人懂風水 0.0

他把墓地分為主要墓碑和次要墓碑, 主要墓碑

只能有 1 個, 守墓人把他記為 1 號, 而次要墓碑有

n-1 個,守墓人將之編號為 2,3...n,所以構成了乙個有 n 個墓碑的墓地。

而每個墓碑有乙個初始的風水值,這些風水值決定了墓地的風水的好壞,所以守墓人

需要經常來查詢這些墓碑。

善於運用風水的守墓人,通過一次次逆天改命,使得自己擁有了無限壽命,沒人知道

他活了多久。

這天,你幸運的拜訪到了他,他要求你和他共同見證接下來幾年他的戰果,但不過他

每次統計風水值之和都需要你來幫他計算,算錯了他會要你命 qaq

風水也不是不可變,除非遭遇特殊情況,已知在接下來的 2147483647 年裡,會有 n 次

災難,守墓人會有幾個操作:

1.將[l,r]這個區間所有的墓碑的風水值增加 k。

2.將主墓碑的風水值增加 k

3.將主墓碑的風水值減少 k

4.統計[l,r]這個區間所有的墓碑的風水值之和

5.求主墓碑的風水值

上面也說了,很多人會把先人的墓安居在這裡,而且守墓人活了很多世紀→_→,墓碑

的數量會多的你不敢相信= =

守墓人和善的邀請你幫他完成這些操作,要不然哪天你的旅館**了,天上下刀子.....

為了活命,還是幫他吧

輸入格式:

第一行,兩個正整數 n,f 表示共有 n 塊墓碑,並且在接下來的

2147483647 年裡,會有 f 次世界末日

第二行,n 個正整數,表示第 i 塊墓碑的風水值

接下來 f 行,每行都會有乙個針對世界末日的解決方案,如題所述,標記同題

輸出格式:

輸出會有若干行,對 4 和 5 的提問做出回答

輸入樣例#1:

5 7

0 0 0 0 0

1 1 5 1

1 1 3 3

2 33 1

4 1 5

2 15

輸出樣例#1:

16

7

20%的資料滿足:1≤n≤100

50%的資料滿足:1≤n≤6000

100%的資料滿足:1≤n,f≤2*10^5

啊,好久沒有做過水題了。。。

裸的線段樹,記得開 long long 。。。

附**:

#include#include#include#define lson rt<<1

#define rson rt<<1|1

#define data(x) a[x].data

#define sign(x) a[x].c

#define lside(x) a[x].l

#define rside(x) a[x].r

#define width(x) (rside(x)-lside(x)+1)

#define maxn 200010

using namespace std;

int n,m;

struct nodea[maxn<<2];

inline int read()

while(c>='0'&&c<='9')

return date*w;

}void pushup(int rt)

void pushdown(int rt)void buildtree(int l,int r,int rt)

mid=l+r>>1;

buildtree(l,mid,lson);

buildtree(mid+1,r,rson);

pushup(rt);

}void update(int l,int r,long long c,int rt)

pushdown(rt);

mid=lside(rt)+rside(rt)>>1;

if(l<=mid)update(l,r,c,lson);

if(mid>1;

if(l<=mid)ans+=query(l,r,lson);

if(mid

return ans;

}int main()

case 2:

case 3:

case 4:

case 5:

} }return 0;

}

洛谷 P2357 守墓人

在乙個荒涼的墓地上 有乙個令人尊敬的守墓人,他看守的墓地從來 沒有被盜過,所以人們很放心的把自己的先人的墓 安頓在他那 守墓人能看好這片墓地是必然而不是偶然.因為.守墓人懂風水 0.0 他把墓地分為主要墓碑和次要墓碑,主要墓碑 只能有 1 個,守墓人把他記為 1 號,而次要墓碑有 n 1 個,守墓人...

題解 洛谷P2357 守墓人

portal1 luogu 在乙個荒涼的墓地上有乙個令人尊敬的守墓人,他看守的墓地從來沒有被盜過,所以人們很放心的把自己的先人的墓安頓在他那守墓人能看好這片墓地是必然而不是偶然.因為.守墓人懂風水。他把墓地分為主要墓碑和次要墓碑,主要墓碑只能有 1 個,守墓人把他記為 1 號,而次要墓碑有 n 1 ...

洛谷P2357 守墓人 線段樹

如果普通暴力做 肯定過不了 那麼我們就要考慮 更高效的 資料結構 比如分塊 線段樹 樹狀陣列等 然後就可以用線段樹過了 要加laz ylazy lazy 標記 比分塊快200ms 200ms 200m s至於主墓的風水和 題目說它是編號1 11 那其實就是區間 1,1 1,1 1,1 的風水和了 就...