新高一暑假第一期集训恢复性训练【数据结构-杂题小练】(并查集)(补)

新高一暑假第一期集训恢复性训练【数据结构-杂题小练】(并查集)(补)


A. [JOISC2014 Day2] 交朋友

首先,我们把从 x 连出去两条边的都合并,然后再去合并从 x 连出去一条原有边与一条新边的情况。

第一种情况直接枚举就行,第二种情况来一个多源 bfs 即可。


B. [HDU1272] 小希的迷宫

只需判断是否存在多个树和是否存在环。


C. [ABC131F] Must Be Rectangular!

简单手玩样例画图分析可以发现,题目是想让我们用并查集合并横坐标或者纵坐标相同的点,同时维护矩形框的长度和宽度,还有集合内点的个数。

用整个矩形的点数减掉已有的点数就是答案。

然而实际写的过程中发现长度和宽度并不是很好直接维护,长度实际上是集合内不同x的数量,宽度实际上是集合内不同y的数量,没想到什么很无脑的合并方法。

最后对每个并查集开了 xy 两个 set,按照 set 的大小进行启发式合并。


E. [TJOI2016/HEOI2016] 树

非常巧妙。

离线,先记录每个点的标记数,倒序处理询问,遇到打标记就把标记数减一,对于标记数为 0 的点就用并查集与它的父节点合并。


本文作者:Leirt_Abu

本文链接:https://www.cnblogs.com/Leirt/p/18494181

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Leirt_Abu  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起