随笔分类 -  数据结构——并查集

摘要:与无向图那题一样,但是需要多考虑一个点是树入度为0的点只有一个,因此边的前后顺序有了作用,这是和之前题的唯一区别。 阅读全文
posted @ 2019-07-29 21:24 Chuhanjing 阅读(421) 评论(0) 推荐(0)
摘要:J - 小希的迷宫 HDU - 1272 因为分到了并查集专题,就直接想到用并查集。 如果要连的当前边的两个端点在之前的图中已经连通,那么当前边一定会与之前的图构成一个环,那么直接就不成立了。如果没有环,那么再判断是否连通,如果连通就成立。算是一道并查集的应用题。 阅读全文
posted @ 2019-07-29 11:26 Chuhanjing 阅读(570) 评论(0) 推荐(0)
摘要:I - Connections in Galaxy War 正向做这道题非常困难,可以从逆向开始。 正向破坏边就是逆向加边。建图的时候把所欲破坏的边除去,那么这个图就是最后的图,当遇到破坏边时就加边,即回复到了破坏此条边之前的状态。 这个和食物过期的想法很像(D - Supermarket POJ 阅读全文
posted @ 2019-07-29 10:40 Chuhanjing 阅读(469) 评论(0) 推荐(0)
摘要:Zjnu Stadium HDU - 3047 逾期说是种类并查集,其实更像是权值并查集,以一个点作为基准,通过路径压缩把所有的座位关系都变成与基准有直接关系的,查询的过程也是不断维护集合的过程,没有当前查询的信息,就插入查询的信息,如果有,则判断是否与集合中的信息冲突。 对于每次加入的时候都有下面 阅读全文
posted @ 2019-07-27 23:19 Chuhanjing 阅读(591) 评论(0) 推荐(0)
摘要:[POJ 1988] Cube Stacking 我们需要新增两种属性cnt[i]cnt[i]与s[i]s[i],分别表示ii之下的块数和ii所在堆的数量。在路径压缩时,cnt[i] += cnt[f[i]] ,另外在连接操作时,需要动态更新cnt[find(u)]和s[find(v)]的信息。 [ 阅读全文
posted @ 2019-07-26 14:03 Chuhanjing 阅读(496) 评论(0) 推荐(0)