P2391 白雪皑皑——经典并查集
并查集这块真的经典吗......只是看好多博客有提到过
其实不算很难,但是如果正向考虑想不到并查集
不过有一个思考就是题目中给出的两个式子具有周期性,循环周期为
利用这个应该可以数据结构暴力碾过去
正解
正向思考发现模拟会爆炸
考虑反过来
发现对于覆盖问题来说,只看最后覆盖的部分
也就是说如果倒着枚举,只要染上颜色就被确定了,不可能再被更改
那么每个点至多会被染色一次
当模拟遍历的时候如果碰到了已经染色的点,直接跳到最右侧没有被染色的点
这个时候就可以把一片已经染色的区间并为一个集合,共享一个右端点
时间复杂度
关于集合
集合是什么呢
从集合的一种表示来看
就是一类具有性质的对象的总体
那么当我们的对象具有相同性质时,它们就可以并到一个集合里
如果加上大部分都是合并,就可以想到并查集