关于为什么不能用Prim求解此类问题,如下 Prim可以看成是维护两个顶点集或者看成维护一颗不断生成的树(感觉前一种说法好一点) 倘若是有向图有三个顶点1.2.3 边的情况如下 1->2:          5 1->3:         6 2->3:       1000861 3->2:         2 显然若是按照Prim算法来说,先将顶点一压入集合.而后顺势找到最小的顶点2,然后1.2中到三的最短边是1000861,那么花费就是1000866,显然不对的.: 而若是无…
题目链接:http://poj.org/problem?id=3164 题意:第一行为n, m,接下来n行为n个点的二维坐标, 再接下来m行每行输入两个数u, v,表点u到点v是单向可达的,求这个有向图的最小生成树即求最小树形图: 思路: 这是一道最小树形图模板题: 我们可以用朱刘算法来解: 朱刘算法只有3步,然后不断循环. 1:找到每个点的最小入边.既然是生成树,那么对于每个点来说,只要选一个权值最小的入边就可以了. 贪心思想.因为如果不是最小入边,那么它肯定不是最小树形图的一条边,考虑它是没…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2121 题目意思大概是要你在一些城市中选一个做首都 , 要求首都都能到其他城市 , 道路花费要最少 , 且道路都是单向的 , 这个时候就要用到最小树形图算法了 , 而且是不固定根. 不定根就是加一个虚根(原本不存在的点) , 可以让这个虚根到每个点的距离大于原本所有点连接的道路花费之和sum , 然后计算出的结果减去sum,如果比sum还大就可以认为通过这个虚拟节点我们连过原图中两个点,即原图是不连通…
layout: post title: 训练指南 UVA- 11865(有向最小生成树 + 朱刘算法 + 二分) author: "luowentaoaa" catalog: true mathjax: true tags: - 最小生成树 - 图论 - 训练指南 Stream My Contest UVA - 11865 二分带宽,然后判断最小生成树是否小于cost值. #include<bits/stdc++.h> using namespace std; typede…
Teen Girl Squad  Input: Standard Input Output: Standard Output You are part of a group of n teenage girls armed with cellphones. You have some news you want to tell everyone in the group. The problem is that no two of you are in the same room, and yo…
定义:一个有向图,存在从某个点为根的,可以到达所有点的一个最小生成树,则它就是最小树形图. 朱刘算法实现过程: [在选出入边集后(看步骤1),若有向图中不存在有向环,说明该图就是最小树形图] 1,选入边集--找到除root点之外,每一个点的所有入边中权值最小的,用数组in[]记录下这个最小权值,用pre[]记录到达该点的前驱:(若图中存在独立点,最小树形图是不存在的,所以在该步骤结束后,要判断一下) 2,找有向环,并用数组id[]记录节点所属环的编号. 3,找到环后,缩点,并更新权值.(感觉和S…
题面 luogu Sol 首先设一个 \(0\) 号点,向所有点连边,表示初始价值 显然这个图的一个 \(0\) 为根的最小有向生成树的边权和就是每个买一次的最小价值 再买就一定能优惠(包含 \(0\) 的边) 有向图最小生成树??? 朱刘算法 其实正确性不会理论.. 可以说是一个不断调整的过程,从而得到最优解 时间复杂度 \(O(VE)\) 流程: 1.去掉自环 2.先给每个点选择一条最小的入边,并记录连过来的点 3.如果此时有点没有入边(除根以外),那么显然无解 4.算上每个点入边贡献,加入…
链接:http://poj.org/problem?id=3164 题意:告诉n个点坐标,m条边表示两个点之间有路.从1点開始建立一个有向图最小生成树. 朱刘算法模板题 ========================== 切割线之下摘自user_id=Sasuke_SCUT" style="color:rgb(202,0,0); text-decoration:none; font-family:Arial; font-size:14px; line-height:26px"…
链接:http://acm.hdu.edu.cn/showproblem.php? pid=2121 题意:n个顶点,m条边,求从某一点起建立有向图最小生成树而且花费最小.输出最小花费和根节点下标. 思路:这道题根是不确定的,我们能够先如果一个根.从这个根出发到不论什么一点的距离(sum)都比原图总权值还大.这样保证了虚拟的边不会是最小入边,也为之后推断是否生成了最小树形图提供方便,从这个点開始建立最小树形图,最后生成出一个结果.非常显然虚拟的根仅仅有一条出边.而且出边连接的点就是真实的根. 最…
题目链接 Description After a long lasting war on words, a war on arms finally breaks out between littleken's and KnuthOcean's kingdoms. A sudden and violent assault by KnuthOcean's force has rendered a total failure of littleken's command network. A prov…