自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 收藏
  • 关注

原创 最小生成树详解

本文介绍了最小生成树的概念及其两种主要算法:Kruskal算法和Prim算法。Kruskal算法通过按边权排序并利用并查集避免环来构建最小生成树,适合稀疏图;Prim算法则从原点出发逐步扩展最近节点,适合稠密图。文章还通过多个例题(如繁忙的都市、无线通讯网等)展示了算法的应用,并介绍了超级源点等技巧。最后强调深入理解树结构是解决此类问题的关键,建议通过多做题来提高解题能力。不同问题需要灵活选择算法,构建特殊的最小生成树来满足需求。

2025-08-10 11:40:15 817

原创 并查集包教包会

由于边多且乱,就会导致点之间的关系也十分混乱,是很浪费时间的。如果我们把一个根节点的子孙直接指向它,岂不能省很多时间(当然有时不能完全压到深度为2,要看数据)。很明显,这样会使辈分排得很长,查询时浪费时间,因此直接把其中一个(两个都行)的祖先的父亲设为另一个的祖先(即把头连在一起,并合并为一个祖先)。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。在一开始没有任何关系的时候,等于说是每个点自成一个团体,因此每一个节点的父亲指向自己。2的祖先(1)的父亲设为5的祖先(1).(无意义)。

2025-08-04 22:04:36 709

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除