[分塊] [BZOJ2724] [Violet 6] 蒲公英
阿新 • • 發佈:2019-02-07
//Everyday English:Violet (n.&adj.) 紫羅蘭,藍紫色,紫羅蘭色的;堇菜;羞怯的人。
這道題許可權題,大意是求區間眾數,強制線上。
在XJB出完聚會那道題之後,發現時間複雜度並不好,常數極大,還不支援線上,做完這道題之後才知道自己智障了……
對於輸入,先離散化一遍,分成
查詢之前,先預處理一下,統計出兩個東西:
搞定這些的時間複雜度是
對於
對於統計
記完了,有什麼用呢?
對於一次查詢,假如左右端點之間一個整塊也沒有,直接暴力統計即可。如果有整塊,就可以利用統計出的答案,先定答案就是之間整塊的答案,然後統計零散部分即可。零散部分出現次數可以用之前統計出的字首和快速求出。
至此,時間複雜度為
必須吐槽題解裡的std寫的格式太爛了。
Code