题意:我们要找到长度为 n 数组 A 的所有的长度为 m 的切片 si 最小的 mex(si) 值。
思路:
可以发现,如果记录切片中每一个数字出现的次数,找到第一个出现次数为0的就是答案。
但是我们不能每次切片改变都去遍历一次,这样会TLE,因此可以用一个数组M维护区间(i,i+m)数字出现的次数。
切片的末尾指向了 Ai 的时候,那么对应的 M a [ i ] M_{a[i]} Ma[i]就会加1;而 M a [ i − m ] M_{a[i-m]} Ma[i−m] 就会减1。
接下来分情况讨论优化算法效率
1.如果 M a [ i − m ] M_{a[i-m]} M

最低0.47元/天 解锁文章
629

被折叠的 条评论
为什么被折叠?



