题解里似乎很少有人清晰地证明不需要枚举断点,我来这里说一说?
考察 [l, r] 时,有两种决策:
显然前者包含后者,而这道题贪心有效,不需要枚举断点。
前提:
- 去重,相邻数据不相同
- 按区间长递增顺序递推保证了无后效性
证明:
假设 [l, k - 1], [k + 1, r] 已划分完毕,研究第 k 个点先划入左边还是右边能使代价更小
。现在分类讨论 [l, k - 1], [k + 1, r], [k, k] 三个区间的颜色:
1. 当三者相等时,代价为 0
2. 当**只有**两者相等时,最小合并代价为 1
3. 当互不相等时,最小合并代价为 2
去重保证了第一种情况不存在
只研究端点对应第二种情况
枚举断点是判断所有情况
显然,枚举断点的结果不可能比研究端点更优