题目链接 思路:因为每次染色都会将某些馒头的颜色彻底更改,所以每个馒头的最终的颜色其实是由最后一次染色决定的,那么我们只考虑最后一次染色即可.对此,我们可以从后往前倒着染色,当目前的染色区间中存在白色馒头时,就将其染成当前的颜色,对于已经染过色的馒头则不处理,因为当前这一次染色已经不是其最后一次染色了,其最终颜色已经确定了. 对以上思路,考虑用经过路径压缩优化的并查集来维护在每个馒头右侧的.距离最近的.未染色的馒头的位置,以减小时间复杂度. 总时间复杂度O(m+n). 代码: #include<…