二分+dp优化:CF1550E

本文搬运自本人高中时期CSDN博客,若图片加载不出来,可到原文查看:https://blog.csdn.net/zhangtingxiqwq/article/details/135117074

https://www.luogu.com.cn/problem/CF1550E

一眼二分,然后有个朴素dp, f(i,2k)f(i,2^k) 表示在 ii 位置满足已经存在 ss 是否可行。发现记录的值只有0 / 1,直接状态如dp, f(s)f(s) 表示满足 ss 的最前位置。

继续优化。状态明显不可以优化,只能优化转移了。这种东西的转移显然预处理,只是看预处理在二分里还是二分外。因为二分里能够接受,那么就在二分里面预处理。直接处理一个 g(i,j)g(i,j) 表示从 ii 开始颜色 jj 出现连续 midmid 的最左右端点位置。

在这里插入图片描述