并查集
文章平均质量分 52
FKJDASOI
干饭不积极,思想有问题。
展开
-
P2449 [SDOI2005]矩形(矩形判重)题解
【题目链接】link【解题思路】这道题目所求的是形成不同块的个数,其实就是求图的连通分量,那么我们就可以使用并查集算法,如矩形 xxx 和矩形yyy 是重叠的,并且处于不同一个集合那么我们就把矩形 xxx 和矩形 yyy 连接,最后我们只要记录有多少个集合就可以了。这样子的做法,我们很容易就能够想到,但是问题在于如何判断两个矩形是否重叠。但是如果我们直接判断两个矩形是否重叠,我们会发现比较难判断,那么我们可以把两个矩形没有重叠的情况判断,剩下的就是重叠的情况而了。我们不重叠有分为两种情况,第一原创 2021-12-24 21:00:47 · 324 阅读 · 0 评论 -
P2502 [HAOI2006]旅行题解(暴力并查集判环)
【题目链接】link【解题思路】我们可以先对他的每一条边进行排序,这样我们就可以确定一条路径中的速度最大和最小值的位置。然后我们再枚举路的起点,显然我们把起点的速度当作最小速度,那么我们就只需要从前往后不断的加边,这样子我们就可以同过连接了一些边,间接的把 sss 和 ttt 连上,而最大的速度显然就是在最后那一条边上面,这样我们就求出了一条合法的路径,但这一条路径不一定是最优的,所以我们定义一个最大和最小值,只要将最大和最小值给更新,当找完所有的路径后,再进行输出。最后输出的时候再进行一些处理,原创 2021-12-18 15:52:25 · 259 阅读 · 1 评论 -
1416两点(DFS/BFS/并查集判环)题解
【题目链接】link【解题思路】这道题其实就是一道爆搜得题目,我们使用两种方法都是可以的,但是在这边我更推荐一点深搜,因为深搜我们是一条路走到底,那么我们只要找到一条首尾相连且长度大于 444 的路径就行了,注意不能走回头路。#include<iostream>#include<queue>#include<cstring> using namespace std;int n,m,zx,zy,h,t,flag,tot;int v[150][150];i原创 2021-12-18 10:11:26 · 248 阅读 · 0 评论