HDU 4747. Mex

某岛 at 
Brief description: 。。。给定一个长度为 n 的非负数列。。定义 mex(l, r) 为 l,r 区间里最小的没有出现的数字。 。。求所有 mex(l, r) 的和。。。 Analysis: ..。直接合并区间难以进行时。。利用离线先固定一个端点。。沿着另一个端点扫应该是接下来第一个要想的方法了。。。 。艹。。我是傻逼么。。 。。先 O(n) 搞出 mex1[i] 表示初始的 mex(1, i)。。这个是单调递增的。。。 。。。再 O(n) 搞出每个 nxt[i] 。。表示右边第一个和 i 相同的位置。。(如果没有则等于 n+1。。。。 。。。接着沿着左侧开始删除。。删除前要……