法一:首先記住這種看起來沒辦法維護的東西,我們可以用隨機化搞法。也就是說以後不要一直想著精確的正解了
考慮利用雜湊思想。顯然區間最大值減去最小值為區間長度這是必要條件。在此前提下,我們從以下幾個選項選出幾個維護就好了:區間和,區間平方和,區間立方和,區間異或和
法二:顯然區間最大值減去最小值為區間長度這是必要條件。在此前提下,如果區間沒有重複數字那麼就可以精確判定了
沒有重複數字想到了什麼?HH的項鍊
於是記錄每個點的前驅,如果說當前區間點前驅的最大值在區間左端點之外那麼肯定就可以
沒有重複數字的維護也可以用帶修莫隊,但是這裡塊長要取\(\sqrt{n}\)