
最小生成树
ssl_fuyang
ヾ(◍°∇°◍)ノ゙
展开
-
最短距离【SPFA】【最小生成树】
>Linkybtoj最短距离>Descriptionn≤105,m≤2∗105n\le 10^5,m\le 2*10^5n≤105,m≤2∗105>解题思路得出一些性质:一个白点到距离它最近的黑点,路上其它点都是白点,而且这个黑点也是这些白点距离最近的黑点跑出来大概就是一个多条链拼在一起,结束点为黑点的图。发现这样很不好处理我们建一个点 TTT,所有黑点与 TTT 连一条边权为 0 的边,这样最终得到的图就是一棵以 TTT 为根的树(所有白点最终到达 TTT)从 TT原创 2021-11-19 08:26:00 · 219 阅读 · 0 评论 -
新的开始【最小生成树】
>Linkybtoj新的开始>Description一共有nnn口矿井,通过以下操作用最小花费使得所有矿井通上电:在当前矿井建立一个发电站,花费vvv把当前矿井与另一个矿井相连,花费ppp,如果另一个矿井有电,那么当前矿井也会通上电>解题思路题目实质上是使所有矿井同上电,那我们就建立一个新的节点(矿井)000,与000连通就说明当前矿井有电,我们的任务就是最小花费把所有矿井和000连成一个集合体,建立最小生成树那么上面给出的操作可以转化为:建立➡000和xxx连原创 2021-07-02 11:27:32 · 178 阅读 · 0 评论 -
繁忙都市【最小生成树】
>Linkybtoj繁忙都市>Description给出一张有边权的无向图,在其中选择最少的边使得所有点相通,且花费最少>解题思路首要条件是使得边数最少,那么肯定是将这nnn个点连成一棵树,边数为n−1n-1n−1这时候就只用考虑花费最少,这么明显当然是用最小生成树啦最小生成树我比较习惯用并查集来实现>代码#include <iostream>#include <cstdio>#include <cstring>#in原创 2021-07-02 11:10:08 · 174 阅读 · 0 评论 -
51nod1743 雪之国度【LCA】【最小生成树】
>Description雪之国度有N座城市,依次编号为1到N,又有M条道路连接了其中的城市,每一条道路都连接了不同的2个城市,任何两座不同的城市之间可能不止一条道路。雪之女王赋予了每一座城市不同的能量,其中第i座城市被赋予的能量为Wi。如果城市u和v之间有一条道路,那么只要此刻雪之女王的能量不小于|Wu-Wv|,这条道路就是安全的。如果城市u和v之间存在两条没有重复道路的安全路径(其中每一段道路都是安全的),则认为这两座城市之间有着良好的贸易关系。最近,雪之女王因为情感问题,她的能量产生巨大原创 2020-09-07 21:10:59 · 156 阅读 · 0 评论 -
Charmer--viv【并查集】【最小生成树】
>DescriptionLoi54 的viv有另一个身份----魔♂术♂师,今天他要变一个魔♂术,但是,viv找不到他的魔法球了。一定是调皮的dc把球藏了起来。viv找到了dc,没想到腹黑的dc不光不交出viv魔法球,还向viv索要赎金。作为一个安静的美男子,viv不想用暴♂力解决此事,再者dc还是viv的同学,所以viv忍气吞声,准备花RMB赎回自己的魔法球。dc的服务态度“良♂好”,给出了详细的“询问”价格表。价格表的形式如下:(dc把viv的魔法球放在一个区间内([1,n])的一个位置原创 2020-08-19 21:07:19 · 191 阅读 · 0 评论 -
最优布线问题【prim】【最小生成树】
>Description学校有n台计算机,现要将它们用数据线连接起来。两台计算机被连接是指它们之间有数据线连接。由于计算机所处的位置不同,因此不同的两台计算机的连接费用往往是不同的。为了节省费用,一台计算机可以间接的通过若干台计算机(作为中转)来实现与另一台计算机的连接。现在由你负责连接这些计算机,你的任务是使任意两台计算机都连通(不管是直接的或间接的)。>Input第一行...原创 2019-04-26 20:00:41 · 500 阅读 · 0 评论 -
最优布线问题【并查集】【最小生成树】
>Description学校有n台计算机,现要将它们用数据线连接起来。两台计算机被连接是指它们之间有数据线连接。由于计算机所处的位置不同,因此不同的两台计算机的连接费用往往是不同的。为了节省费用,一台计算机可以间接的通过若干台计算机(作为中转)来实现与另一台计算机的连接。现在由你负责连接这些计算机,你的任务是使任意两台计算机都连通(不管是直接的或间接的)。>Input第一行...原创 2019-04-26 20:53:46 · 210 阅读 · 0 评论 -
jzoj给水【并查集】【最小生成树】
>Description FJ决定给N(1<=N<=300)个草地给水,草地编号为1到N。他可以在该草地处建立一口井,也可以建立管道从别的草地引水进来,在第i块草地处挖一口井需要花费W_i(1<=W_i<=100,000),连接井i和井j的管道需要花费P_ij(1<=P_ij<=100,000,P_ij=P_ji;P_ii=0)。计算最少需要花费多少...原创 2019-07-06 20:08:48 · 175 阅读 · 0 评论 -
灌水【并查集】【最小生成树】
>DescriptionFarmer John已经决定把水灌到他的n块农田,农田被数字1到n标记。把一块土地进行灌水有两种方法,从其他农田饮水,或者这块土地建造水库。建造一个水库需要花费wi,连接两块土地需要花费Pij.计算Farmer John所需的最少代价。>Input第一行:一个数n第二行到第n+1行:第i+1行含有一个数wi第n+2行到第2n+1行:第n+1+i行有n个被空格分开的数,第j个数代表pij。>Output第一行:一个单独的数代表最小代价.>原创 2020-08-11 14:00:37 · 260 阅读 · 0 评论 -
Kuglarz【并查集】【最小生成树】
>Description魔术师的桌子上有 n 个杯子排成一行,编号为 1,2,…,n,其中某些杯子底下藏有一个小球,如果你准确地猜出是哪些杯子,你就可以获得奖品。花费 cij 元,魔术师就会告诉你杯子 i,i+1,…,j 底下藏有球的总数的奇偶性。采取最优的询问策略,你至少需要花费多少元,才能保证猜出哪些杯子底下藏着球?>Input第一行一个整数 n。第 i+1 行(1≤i≤n)有 n+1−i 个整数,表示每一种询问所需的花费。其中 cij(对区间 [i,j] 进行询问的费用,原创 2020-08-13 07:58:05 · 283 阅读 · 0 评论