傳送門
這題
預(yù)處理PRe(i),nxt(i)表示與位置i食物相同的前一個(gè)/下一個(gè)的位置 pos(j)表示[pos(j)+1,i]一共有j種不同的食物 那么
如何維護(hù)pos(j)呢? 記cnt(j)表示[pos(j),i]一共有多少種顏色 當(dāng)i從i-1轉(zhuǎn)移來時(shí)可以通過判斷位置i的食物的pre來計(jì)算cnt(j) 如果cnt(j)>j即不合法,那么pos(j)要向后移動(dòng),直到把某一種顏色在區(qū)間中完全刪除,這中間可以用nxt來判斷
pos(j)單調(diào)移動(dòng),總時(shí)間復(fù)雜度
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注