CF2117C Cool Partition 题解
Mier_Samuelle · · 题解
不难想到贪心策略:对于每个位置,如果可以断开必定断开。
证明:假设当前位置为
i 且可以断开。如果最优方案是在位置j (j>i )断开的话,我们可以将位置[i+1,j] 并入下一段内。根据我们的假设,这样做一定是合法的,并且由于当前段中的元素变少了,我们的总段数也一定不会变少。
最后一段是否合法也不影响,因为如果不合法,我们可以简单地将其并入前面一段,这样做不会影响总段数。
考虑实现,可以开两个 set,一个存前一段中的元素(记作集合
遍历到
时间复杂度
CF 提交记录