P2253 好乙個一中腰鼓!

2022-07-20 04:45:10 字數 1216 閱讀 9165

題意:給你乙個序列,初始是0,每次乙個操作,把乙個數^=1

每次求出最長01串的長度

正解:線段樹(雖然暴力能過)

對於每個區間,記錄三個值

lmax,以l為首的01串長度

rmax,以r為尾的01串長度

mmax,既不以l又不以r為為端點的完全包在區間內的最長01串長度

注意合併!

#include#include

#include

#include

#include

using

namespace

std;

#define int long long

#define olinr return

#define _ 0

#define db double

bool turn[20505

];struct

node

;int

n;int

m;inline

intread()

while

(isdigit(ch))

return x*f;

}inline

void put(int

x)

if(x>9

) put(x/10

); putchar(x%10+'0'

);}inline

void push_up(node *now,int

pos)

inline

void build(node *now,int l,int

r)

int mid=(l+r)>>1

; now->ls=new

node();

now->rs=new

node();

build(now->ls,l,mid);

build(now->rs,mid+1

,r);

push_up(now,mid);

}inline

void lazy(node *now,int

k) lazy(now->ls,k);

lazy(now->rs,k);

push_up(now,(now->l+now->r)>>1);}

signed main()

return 0;

}

P2253 好乙個一中腰鼓!

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

P2253 好乙個一中腰鼓!

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

洛谷P2253 好乙個一中腰鼓!

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