摘要: dijkstra本质上的思想是贪心,它只适用于不含负权边的图. 我们把点分成两类,一类是已经确定最短路径的点,称为"白点",另一类是未确定最短路径的点,称为"蓝点"dijkstra的流程如下 初始化dis[start]=0,其余节点的dis值为无穷大. 找一个dis值最小的蓝点x,把节点x变成白点. 阅读全文
posted @ 2025-01-20 17:51 流氓兔LMT 阅读(13) 评论(0) 推荐(0)
摘要: 把图中的所有边按代价从小到大排序; 把图中的n个顶点看成独立的n棵树组成的森林; 按权值从小到大选择边,所选的边连接的两个顶点ui,vi,应属于两颗不同的树,则成为最小生成树的一条边,并将这两颗树合并作为一颗树。 重复(3),直到所有顶点都在一颗树内或者有n-1条边为止。 int n,fa[]; i 阅读全文
posted @ 2025-01-20 17:11 流氓兔LMT 阅读(17) 评论(0) 推荐(0)
摘要: 并查集主要支持两种操作 find 查询一个元素属于那个集合 Merger 合并 int find(int x) { if(fa[x]==x) return x; return fa[x]=find(fa[x]); //直接连到祖先 } void Merger(int x,int y) { x=fin 阅读全文
posted @ 2025-01-20 16:56 流氓兔LMT 阅读(16) 评论(0) 推荐(0)
摘要: 该算法的基本思想是从一个结点开始,不断加点.每次要选择距离最小的一个结点,以及用新的边更新其他结点的距离。 从任意一个结点开始,将结点分成两类:已加入的,未加入的。 每次从未加入的结点中,找一个与已加入的结点之间边权最小值最小的结点 然后将这个结点加入,并连上那条边权最小的边。 更新所有点到最小生成 阅读全文
posted @ 2025-01-20 16:56 流氓兔LMT 阅读(20) 评论(0) 推荐(0)
摘要: 某个量有单调性 阅读全文
posted @ 2024-11-27 21:40 流氓兔LMT 阅读(22) 评论(0) 推荐(0)
摘要: 大区间被两个小区间覆盖 阅读全文
posted @ 2024-11-27 17:26 流氓兔LMT 阅读(28) 评论(0) 推荐(0)
摘要: BFS= 队列 阅读全文
posted @ 2024-11-26 20:47 流氓兔LMT 阅读(15) 评论(0) 推荐(0)
摘要: DFS= 递归 阅读全文
posted @ 2024-11-25 21:39 流氓兔LMT 阅读(19) 评论(0) 推荐(0)
摘要: 顾名思义:a,b串删去一些字符后得到的相同字串 阅读全文
posted @ 2024-11-25 20:59 流氓兔LMT 阅读(17) 评论(0) 推荐(0)
摘要: c++ 学习大纲 阅读全文
posted @ 2024-11-21 22:16 流氓兔LMT 阅读(29) 评论(2) 推荐(0)