克鲁斯卡尔

article/2025/11/5 23:15:23

版权声明:这就是我的文章啊

这一个算法。有点厉害。

首先,输入一个图,然后求它的最小生成树(即一条最短的链,联通N个顶点)。


                                                                         (这就是图)

好的,然后,我们首先观察这个图,发现他的答案是15.

非常的神奇。

每一个顶点在一开始都是一个独立的集合,因为他没有和任何人连边。

接着,我们将这10条边,按边权排序(这是为了可以选到最优的边)

我们开始选边了。首先,我们发现(V1,V3)这条边的边权是目前图中最小的。

况且他们两个都代表着一个独立的集合(1,3)。于是我们就可以把他们两个愉快地连边。

接着是(V4,V6)顺利的连边

接着是(V2,V5)顺利的连边

接着是(V3,V6)顺利的连边

好的现在的集合情况是1:(V1,V3,V4,V6)2:(V2,V5)

接着到(V1,V4)。

这个虽然是目前最短的,但是我们不可以将它连边。

为什么?


因为他们是同一个集合的。

为什么同一集合就不能连边呢?

因为,连了边,也是白连,(V1,V4)本来就已经是联通的了,再连一条边没有任何意义,反而会增加答案数。

于是我们舍去这条边不取。

当我们连上(V2,V3)之后,整个图就联通了。


你们可能会有个问题:怎么判断(Vx,Vy)是同一个集合的呢?

这要用到并查集。详情请看我的另一篇博客


var f:array[1..1001] of longint;
a:array[0..500001,1..3] of longint;
i,j,k,n,m,x,y,c:longint;
s:int64;
procedure qsort(l,r:longint);
var x,y,m:longint;
begin
x:=l;
y:=r;
m:=a[(l+r) div 2,3];
repeat
while a[x,3]<m do inc(x);
while a[y,3]>m do dec(y);
if x<=y then
begin
a[0]:=a[x];
a[x]:=a[y];
a[y]:=a[0];
inc(x);dec(y);
end;
until x>y;
if l<y then qsort(l,y);
if r>x then qsort(x,r);
end;
function fu(z:longint):longint;
var x,y:longint;
begin
y:=z;
while y<>f[y] do y:=f[y];
 
while z<>y do
begin
x:=f[z];
f[z]:=y;
z:=x;
end;
exit(y);
end;
begin
readln(n,m);
for i:=1 to m do
begin
readln(x,y,c);
a[i,1]:=x;
a[i,2]:=y;
a[i,3]:=c;
end;
qsort(1,m);
 
for i:=1 to n do f[i]:=i;
 
s:=0;
for i:=1 to m do
begin
j:=fu(a[i,1]);
k:=fu(a[i,2]);
if j<>k then
begin
s:=s+a[i,3];
f[j]:=k;
end;
end;
writeln(s);
end.

http://chatgpt.dhexx.cn/article/8xDASpSE.shtml

相关文章

kruskalCase克鲁斯卡尔算法

介绍 它的特点和Prim算法不一样&#xff0c;Prim是以点为主&#xff0c;通过顶点遍历没有访问的节点计算最小权重直至一条最小边出来&#xff1b;而Kruskal算法是以边为主&#xff0c;时间复杂度要低一些0(edge); 什么是最小生成树 最小生成树&#xff1a;在一个有n个结点的…

第19章 随机波动率模型入门

这学期会时不时更新一下伊曼纽尔德曼&#xff08;Emanuel Derman&#xff09; 教授与迈克尔B.米勒&#xff08;Michael B. Miller&#xff09;的《The Volatility Smile》这本书&#xff0c;本意是协助导师课程需要&#xff0c;发在这里有意的朋友们可以学习一下&#xff0c;思…

欧内斯特·卢瑟福

Ernest Rutherford BiographyKathy老师讲述的有趣科学历史 01 欧内斯特卢瑟福 一、背景介绍 欧内斯特卢瑟福因其通过金箔实验发现了原子核而闻名于世。 实际上他的工作远多于此&#xff0c;甚至在他发现原子核之前就发现了几种不同形式的发射性、 发现化学元素可以衰变成其它…

クレス / 克雷斯

目录 基本资料面板值&#xff08;无天冥加成&#xff09;天冥奖励 战斗宣言&#xff08;VC&#xff09;技能珠子 回到人物索引 基本资料 NS(4~5★)协奏3入队 (Ver 2.7.50)時空剣士の史籍&#xff08;火精灵试炼报酬&#xff09; 天冥属性武器防具属性耐性异常耐性NS天火剑护…

改变世界的 17 个方程式( 17 Equations that Changed the World)

目录 勾股定理 对数 微积分 万有引力定律 复数 多面体欧拉定理 正态分布 波动方程 傅里叶变换 纳维-斯托克斯方程 麦克斯韦方程组 热力学第二定律 相对论 薛定谔方程 信息理论 混沌理论 布莱克-斯科尔斯公式 2013年&#xff0c;英国数学家伊恩斯图尔特&#x…

十二、计算期权定价和布莱克-斯科尔斯公式

期权定价 期权定价(Option Valuation),期权价值的两个基本构成要素是:内含价值和时间价值。 期权定价,内含价值,也称内在价值,是期权持有人因通过行权获得股票而不是直接购买股票而实现的收益。 布莱克-斯科尔斯公式 1997年10月10日,第二十九届诺贝尔经济学奖授予了…

布莱克—斯科尔斯—默顿(BSM)模型

BSM模型是最常用的期权定价模型之一&#xff0c;虽然其假设不合符市场事实&#xff0c;但是该模型的提出奠定了现代金融衍生品法则的基石。该模型在学界的发展&#xff1a;早期的期权定价大多采用Black-Scholes(B-S)期权定价模型&#xff0c;B-S模型假定标的资产收益率服从正态…

攻防世界 Misc miao~

得到一个jpg图片&#xff0c; 分离出jpg中隐含的内容&#xff0c;得到一个wav音频文件 在Audacity中打开&#xff0c;查看频谱图&#xff0c;得到密码CatCTF 在deepsound中打开wav文件&#xff0c;得到flag.txt 打开flag.txt发现是兽语 在线解码兽音译者在线编码解码 - 兽音翻…

[ CTF ]MISC flag

题目附件密码:7dm3 解压文件后仅有一个名为flag的文件&#xff1a; 首先&#xff0c;我们不知道这是个什么类型的文件。这题步骤不难思路难&#xff0c;看做题经验和积累了 1、直接把文件扔进十六进制 可以看到文件头是504B0304判断它可能是压缩包文件或者word文档&#xff0…

【ctf秀】【MISC】MISC入门misc10

一、解题环境 windows7 二、考点:binwalk的使用 考点发现及解题过程&#xff08;所有的png图片misc题均可这么做&#xff09;&#xff1a; 1.解压zip文件&#xff0c;用winhex打开misc10.png 2.判断文件格式是否篡改&#xff0c;检查png的文件头和文件尾&#xff0c;文件格式…

BUUCTF_MISC题解

BUUCTF_MISC题解 第二题 将GIF图片用ps进行逐帧分解&#xff0c;可以得到三张特殊的照片 直接将三个照片里的内容拼接起来就好 第三题 二维码 下载好附件解压后发现是一个.png文件的二维码 用CQR扫描后得到二维码的结果 发现并没有得到想要的flag&#xff0c;并且提示我们f…

MISC总结

文章目录 1.CTF中的压缩包1.1.练习11.2.练习21.3.练习31.4.练习41.5.练习51.6.练习61.7.练习71.8.练习81.9.练习91.10.练习10 2.基于BinWalk实现文件提取2.1.预备知识2.2.镜像文件提取数据 3.结构化文件信息隐藏3.1.预备知识 4.隐写4.1.图片隐写4.1.1.matlab图像处理4.1.2.LSB算…

Misc新手合辑

流量分析2 流量包数很少的分析 题目也没给别的文件,应该不用解加密的数据内容 那就康康有没有什么明文信息 过滤器输入http.request.method "GET"出来几个包: 从第一个包顺序开始右键follow一下,看一下http stream数据: 有fl可能是flag,加上follow出来的过滤器…

ctfshow misc入门wp

目录 图片篇&#xff08;基础操作&#xff09; misc1 misc2 misc3 misc4 图片篇&#xff08;信息附加&#xff09; misc5 misc6 misc7 misc8 ​misc9 misc10 misc11 misc12 ​misc13 misc14 misc15 misc16 misc17 misc18 misc19 misc20 misc21 misc22 …

BUUCTF MISC入门

1.gif 用firework 帧分解得到其中三帧中隐藏的flag 可以下载一个截图软件把各帧订住方便查看 注意&#xff1a;he11o不是hello(血与泪的教训) 2.二维码 看到二维码先是拿软件识别了一下&#xff0c;发现内容是secret is here,啥也没有 然后winhex发现里面有个txt 就放到linux下…

MISC相关工具下载

写在前面&#xff1a;本文包含在windows和在kali下使用的工具&#xff0c;win下已做标 MISC相关工具下载 图片相关 jpg f5-steganography (F5隐写&#xff0c;需要passwd) 安装 kali中安装&#xff1a; git clone https://github.com/matthewgao/F5-steganography > git clo…

攻防世界1-misc

1-misc 题目描述&#xff1a;无 题目环境&#xff1a;https://download.csdn.net/download/m0_59188912/87094807 打开压缩包&#xff0c;提示密码是出题人生日。 使用archpr爆破压缩包。 得到密码&#xff1a;20001228 解压压缩包&#xff0c;得到两个文件&#xff0c;一个图片…

ctfshow_MISC入门

目录 图片篇&#xff08;基础操作&#xff09; misc1 misc2 misc3 misc4 图片篇&#xff08;信息附加&#xff09; misc5 misc6 misc7&#xff08;flag在图片文件信息中&#xff09; misc8&#xff08;flag在图片文件中图片文件中&#xff09; misc9&#xff08;fla…

攻防世界_MISC之Misc文件类型

解压 Notepad打开文件&#xff0c;想到hex转ascii 转码后发现&#xff0c;这里BASE64字符反转了&#xff0c;应该提示这是base64编码&#xff0c;因为base64编码没有_下斜杠符号&#xff0c;所以删掉46ESAB_&#xff0c;然后再利用插件的base64解码 看见zip文件头PK&#xff0c…

攻防世界misc

目录 1. give_you_flag (二维码补全定位角) 2. 坚持60s (jar包反编译) 3. 如来十三掌 4. gif 5. stegano 6. 掀桌子 7. SimpleRAR 8. ext3 9. 功夫再高也怕菜刀 10. Wireshark 1. give_you_flag (二维码补全定位角) 附件得到一个gif动图&#xff0c;用stegsolve Fra…