传送门
这是一道困饶了我一年的题。
其实就是去年去NOIP提高组试水的时候考的模拟题
但当时我水平不够,跟ykykyk一起杠了一个下午都没调出来。
今天终于AAA了。
其实就是一个维护最长连续010101串的变形。
分几种情况讨论下就行。
我们令最长子段的左右端点为l,rl,rl,r
- l=1l=1l=1,直接停在111号点。
- r=nr=nr=n,直接停在nnn号点。
- 最长子段在中间,根据题目的定义,这个时候根据题目定义它的到两边的长度应该是r−l+22\frac {r-l+2} 22r−l+2,而从令左端开始的连续000长度为LLL,右端开始的为RRR,它们到附近第一辆车的长度为L,RL,RL,R,因此我们需要比一比这三个亮的大小,这还没完,如果是r−l+22\frac{r-l+2} 22r−l+2最大的话,我们需要寻找左端点下标最小且长度为r−l+1r-l+1r−l+1的一个区间,然后令其中点成为答案,因为虽然len[3,3]<len[5,6]len[3,3]<len[5,6]len[3,3]<len[5,6],但它们距离最近一辆车的长度是相同的,因此要选333而不是555。