洛谷 P2253 好乙個一中腰鼓! 線段樹

2021-09-25 21:48:05 字數 1217 閱讀 5868

傳送門

一共有n

nn個同學,開始時鼓面都是紅色的

現在有m

mm次操作,將指定同學的鼓面反轉

在每次操作後回答當前整個序列最長連續相鄰鼓面不同色的序列長度

我們先構想一棵較簡單的線段樹,mama

ma表示當前區間的答案

在合併求解時我們發現子區間相鄰的部分也可能會對答案有貢獻

所以我們再記錄一下從左到右的最大答案、從右到左的最大答案

#include

#include

#include

#include

#include

#include

#define ll long long

#define lzx mu

using namespace std;

inline ll read()

while

(s>=

'0'&&s<=

'9')

return d*f;

}struct treet[

80005];

void

lazy

(int i)

return;}

void

build

(int i,

int l,

int r)

int mid=

(r+l)

>>1;

build

(i<<

1,l,mid)

;build

(i<<1|

1,mid+

1,r)

;lazy

(i);

return;}

void

change

(int i,

int l,

int r,

int mul)

int mid=

(l+r)

>>1;

if(mul<=mid)

change

(i<<

1,l,mid,mul)

;else

change

(i<<1|

1,mid+

1,r,mul)

;lazy

(i);

return;}

intmain()

return0;

}

洛谷P2253 好乙個一中腰鼓!

話說我大一中的運動會就要來了,據本班同學劇透 其實早就知道了 我萌萌的初二年將要表演腰鼓 噴 這個無厘頭的題目便由此而來。ivan 亂入 忽一人大呼 好乙個安塞腰鼓!滿座寂然,無敢譁者,遂與外人間隔。設想一下,腰鼓有兩面,一面是紅色的,一面是白色的。初二的蘇大學神想給你這個 oier 出一道題。假設...

洛谷P2253 好乙個一中腰鼓!

話說我大一中的運動會就要來了,據本班同學劇透 其實早就知道了 我萌萌的初二年將要表演腰鼓 噴 這個無厘頭的題目便由此而來。ivan亂入 忽一人大呼 好乙個安塞腰鼓!滿座寂然,無敢譁者,遂與外人間隔。設想一下,腰鼓有兩面,一面是紅色的,一面是白色的。初二的蘇大學神想給你這個oier出一道題。假設一共有...

P2253 好乙個一中腰鼓!

話說我大一中的運動會就要來了,據本班同學劇透 其實早就知道了 我萌萌的初二年將要表演腰鼓 噴 這個無厘頭的題目便由此而來。ivan亂入 忽一人大呼 好乙個安塞腰鼓!滿座寂然,無敢譁者,遂與外人間隔。設想一下,腰鼓有兩面,一面是紅色的,一面是白色的。初二的蘇大學神想給你這個oier出一道題。假設一共有...