题解

cookiebus 2023-08-10 11:23:57 2023-08-10 11:42:22 2 返回题目

解法一: 对于 的数据,贪心,每次扫一遍整个序列,按照第一关键字找到颜色最多的染色,第一关键字相同根据第二关键字不同进行染色。

解法二: 对于 的数据,枚举使用已经染色的球的所有方案,然后再进行处理即可

解法三:第一个球的左侧应该和第一个球颜色一样,最后一个球右侧应该和最后一个球颜色一样,然后我们发现两个相邻的球颜色一样时,中间空余段也是这个颜色,显然我们要考虑相邻两个颜色不同的球 中间归属谁的问题,我们可以对于每个染了色的球建点,向未染色的段连边,边权为段的长度,相邻两个球有一方不能占有这个这段,他需要删除,然后就可以直接贪心了,考虑用大根堆,更改操作不用管,把新点扔到大根堆里即可,复杂度

具体可以参考满分程序,应该思路是比较清楚的。

{{ vote && vote.total.up }}