C. Kevin的七彩旗 without dp
Kevin的七彩旗
https://ac.nowcoder.com/acm/contest/63804/C
看到官方解法是 DP 于是回来补个档,我没用 DP,看不懂 DP 的可以看看这个题解。
提示 1:分段一定是分成若干个 的序列。
提示 2:我们发现拼接数列的时候,如果两个数列元素有重叠不影响可行性;如果不是完全包含也不影响最优性。
所以我们直接找出,对于每个元素,它能直接连到后面的最大元素。我们设为 ,那么拿样例来举例子,
,
。
注意到,虽然在 这一段中
只能到
,但是它在
中可以到
,所以
。
我们考虑对 初值为
,不断进行
的迭代,迭代次数就是答案,如果迭代永远无法到达
就是
。