![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并查集
多敲代码多喝水
一只普普通通的大学生码农蒻蒟
展开
-
L2-007 家庭房产 (25 分)
题目详情 - L2-007 家庭房产 (25 分) (pintia.cn)题解:并查集的典型应用,主要应用所有子孙点给祖宗点贡献,将祖宗点存入vector数组中进行排序!#include<bits/stdc++.h>using namespace std;int n;struct node{ int number; int ren; double tao; double mianji;}ans[10010];bool cmp(node a,node b){ if原创 2022-04-18 09:54:38 · 227 阅读 · 0 评论 -
蓝桥杯之七段码(dfs+并查集)
题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。小蓝要用七段码数码管来表示一种特殊的文字。上图给出了七段码数码管的一个图示,数码管中一共有 77 段可以发光的二 极管,分别标记为 a, b, c, d, e, f, ga,b,c,d,e,f,g。小蓝要选择一部分二极管(至少要有一个)发光来表达字符。在设计字符 的表达时,要求所有发光的二极管是连成一片的。例如:bb 发光,其他二极管不发光可以用来表达一种字符。例如 cc 发光,其他二极管不发光可以用原创 2022-03-29 10:15:13 · 154 阅读 · 0 评论 -
【模板】最小生成树(Kruskal)
题目描述如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz输入输出格式输入格式:第一行包含两个整数N、M,表示该图共有N个结点和M条无向边。(N<=5000,M<=200000)接下来M行每行包含三个整数Xi、Yi、Zi,表示有一条长度为Zi的无向边连接结点Xi、Yi输出格式:输出包含一个数,即最小生成树的各边的长度之和;如果该图不连通则输出orz输入输出样例输入样例#1:4 51 2 21 3 21 4 32 3 43 4 3输出样例#1:7原创 2021-09-18 10:49:28 · 107 阅读 · 0 评论 -
pyf的愿望(虚拟0点+并查集+最小生成树)
题目大意:现在已知一共有n(1<=n<=300)个宿舍,宿舍被数字1到n标记。一个宿舍有两种办法能用上Wi-Fi。一种是从其他宿舍链接网线,一种是自己去安装网络设备。自己安装网络设备需要花费w[i],连接两个宿舍需要花费P[i][j] (连接i宿舍和j宿舍要花费P元)。输入格式:第一行:一个n第二行到第n+1行:包含一个数w[i];第n+2行到2n+1行:第n+1+i行,每行n个数,第j个数表示P[i][j]输出格式:第一行:一个最小代价样例:454430 2 2 2原创 2021-09-18 18:21:22 · 95 阅读 · 0 评论 -
【通电】(并查集+最小生成树)
2015年,全中国实现了户户通电。作为一名电力建设者,小明正在帮助一带一路上的国家通电。 这一次,小明要帮助 n 个村庄通电,其中 1 号村庄正好可以建立一个发电站,所发的电足够所有村庄使用。 现在,这 n 个村庄之间都没有电线相连,小明主要要做的是架设电线连接这些村庄,使得所有村庄都直接或间接的与发电站相通。 小明测量了所有村庄的位置(坐标)和高度,如果要连接两个村庄,小明需要花费两个村庄之间的坐标距离加上高度差的平方,形式化描述为坐标为 (x_1, y_1) 高度为 h_1 的村庄与坐标为原创 2021-09-18 12:03:32 · 88 阅读 · 0 评论 -
并查集(大裸题)
给你一个 n 个点,m 条边的无向图,求至少要在这个的基础上加多少条无向边使得任意两个点可达~输入4 21 23 4输出1居然一开始看到没有立马想到并查集,ans=联通区域数-1;ACCODE:#include<bits/stdc++.h>using namespace std;int fa[100010];int n,m;int find(int x){ if(x==fa[x])return x; else return原创 2022-01-06 09:19:06 · 420 阅读 · 0 评论