P1558 色板遊戲 線段樹

2022-04-30 09:15:12 字數 596 閱讀 2949

乙個簡單的 或 線段樹.竟然坑了我乙個小時...

因為顏色很小,所以把狀態壓起來.

然後每個節點上的數值代表當前顏色狀態.

然後節點合併很簡單,直接或起來.

需要注意一下的地方是修改時的 \(lazy\) ,要完全覆蓋,這裡不能或.

#include#define ll long long

#define in(x) x=read()

#define mid (l+r)/2

#define n 100001

using namespace std;

ll sgm[n*4],lazy[n*4],n,m,t;

int read()

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

return f*w;

}void build(int node,int l,int r)

void push_down(int node)

void change(int node,int l,int r,int l,int r,int v)

int main()

else

}}

P1558 色板遊戲

題目位址 思路 位運算,狀態壓縮,線段樹 分析思路 線段樹code include include define clean x memset x,0,sizeof x define ls rt 2 define rs rt 2 1 const int maxl 100005 maxk 30 uns...

P1558 色板遊戲 狀壓線段樹

題面 洛谷p1558 每次不同顏色覆蓋一段區間,每次詢問一段區間有多少種顏色 因為顏色數 t 很小,使用二進位制表示狀態當前區間有那些顏色,二進位制第 i 位表示此區間是否含有 i 這種顏色,線段樹合併資訊時左右兒子資訊或一下就好了。scanf讀入char炸了我好久,最後換成cin就ac了 ac c...

洛谷 P1558 色板遊戲

阿寶上學了,今天老師拿來了一塊很長的塗色板。色板長度為l,l是乙個正整數,所以我們可以均勻地將它劃分成l塊1厘公尺長的小方格。並從左到右標記為1,2,l。現在色板上只有乙個顏色,老師告訴阿寶在色板上只能做兩件事 1.c a b c 指在a到 b 號方格中塗上顏色 c。2.p a b 指老師的提問 a...