给$r\in [2,n]$,但是$l$随机,区间长度大于$1$,并且将区间的数排好序。随机给出来。
枚举第一位,第一位确定了之后找长度$\leq 2$包含第一位的区间,剩下就是第二位,然后继续找长度$\leq 3$包含第一位或者第二位的区间。
这样朴素的算法是$O(n^4)$的,我们每次把找到的元素去除掉,然后去找$set.size=1$的$set$。即可$O(n^3\log n)$,然后为了以防万一。最后再验证乱搞下即可。
代码
1 |
|
给$r\in [2,n]$,但是$l$随机,区间长度大于$1$,并且将区间的数排好序。随机给出来。
枚举第一位,第一位确定了之后找长度$\leq 2$包含第一位的区间,剩下就是第二位,然后继续找长度$\leq 3$包含第一位或者第二位的区间。
这样朴素的算法是$O(n^4)$的,我们每次把找到的元素去除掉,然后去找$set.size=1$的$set$。即可$O(n^3\log n)$,然后为了以防万一。最后再验证乱搞下即可。
1 |
|