在暑假結束的隔天,$frankie$又像高一那樣,走在滿是學生的路上。
同時在這天,$frankie$發現了校門口的斑馬線,跟以往的有些不同。
今天的斑馬線,由左至右,共有$N$格的長度,而每一格都分成有漆油漆的白色,跟沒漆油漆的黑色。
但有些格子相鄰的格子跟他是同個顏色,所以$frankie$覺得真的有點醜,
於是他決定在晚上沒人在的時候,重新把斑馬線漆一次。
深夜,$frankie$獨自一人到了校門口,他拿著工具準備把斑馬線全面更新。
但因為晚上太黑了,他完全看不到路面,也看不到自己的手,
所以他決定只對斑馬線做$3$種簡單的操作。
分別如下:
$1\ l\ r\ :$把$[l, r)$此區間的斑馬線都漆成白的
$2\ l\ r\ :$把$[l, r)$此區間的斑馬線的漆刮掉,變成黑的
$3\ l\ r\ :$把$[l, r)$此區間的斑馬線,針對每一格,黑的就漆成白的,白的就把漆刮掉
由於時間有限,$frankie$只做了$M$個操作。
但這時$frankie$發現,晚上真的有夠暗,
他也沒有記住他做了那些操作,於是他完全不知道現在的路面是怎樣。
這時你走了過去,決定幫助$frankie$重漆斑馬線,
因為你有一種超強的夜視能力,而且你也覺得校門斑馬線有夠醜。
$frankie$會問$Q$次問題,
並且問題也有$3$種,
分別如下:
$4\ l\ r\ :$問$[l, r)$此區間的斑馬線中最左邊的白色塊是哪格,沒有這種東西就輸出$-1$
$5\ l\ r\ :$問$[l, r)$此區間的斑馬線中最右邊的白色塊是哪格,沒有這種東西就輸出$-1$
$6\ l\ r\ :$問$[l, r)$此區間的斑馬線中有幾格白色塊
為了讓整個斑馬線看起來更好看,同時確保不會有更多人被殘害雙眼,
請幫幫$frankie$回答他問的問題,讓世界更加美好。
第一行,輸入一數$T$,表示有$T$比測資。
第二行,輸入三數$N,\ M,\ Q$,代表 斑馬線格數,操作次數,詢問次數。
第三行,輸入$a_1 \sim a_N$,$``b"$表示此格為黑,$``w"$表示此格為白。
後$M$行,每行輸入上述$3$種操作之一。
後$Q$行,每行輸入上述$3$種詢問之一,並進行輸出答案。
輸出$Q$行$frankie$所問問題之答案
1 5 3 3 b w b b w 1 2 5 2 0 3 3 0 5 4 1 4 5 3 5 6 0 5
1 -1 3
顯然最左邊那格是第$0$格。
本題主角$frankie$雖說視力很好,但在黑暗中卻看不到自己。
$ 50\% $測資:$0 \leq l \leq r \leq N \leq 20,\ 1 \leq M, Q \leq 10^2$
$ 80\% $測資:$0 \leq l \leq r \leq N \leq 40,\ 1 \leq M, Q \leq 10^3$
$ 100\% $測資:$0 \leq l \leq r \leq N \leq 60,\ 1 \leq M, Q \leq 10^4,\ T = 950$
抱歉我卡常數
$array\ \to \ TLE$
$bitwise + binary\ search\ \to \ AC$
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |