![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最小生成树
文章平均质量分 73
Faithfully__xly
这个作者很懒,什么都没留下…
展开
-
0718-最小生成树-洛谷2847 奶牛广播
https://www.luogu.org/problemnew/show/P2847 题目描述 (英文的直接忽略) FJ的N头牛(1≤N≤1000)为了在他们之间传播信息, 想要组织一个"哞哞广播"系统. 奶牛们决定去用步话机装备自己而不是在很远的距离之外互相哞哞叫, 所以每一头奶牛都必须有一个步话机. 这些步话机都有一个限制传播半径, 但是奶牛们可以间接地通过中间奶牛传播信息, 所以并不...原创 2018-07-18 22:13:15 · 171 阅读 · 0 评论 -
1014 - Prim最小生成树 - 打井(usaco2009oct)
打井Watering Hole 描述 农民John 决定将水引入到他的n(1<=n<=300)个牧场。他准备通过挖若 干井,并在各块田中修筑水道来连通各块田地以供水。在第i 号田中挖一口井需要花费W_i(1<=W_i<=100,000)元。连接i 号田与j 号田需要P_ij (1 <= P_ij <= 100,000 , P_ji=P_ij)元。 请求出...原创 2018-10-14 14:50:54 · 251 阅读 · 0 评论 -
1014 - 动态维护最小生成树 - Maintain(IOI 2003)
Maintain 描述 农夫约翰的奶牛们希望能够在农场的N(1<=N<=200)块田地中自由的旅游,尽管这些田地被树林分开了。他们希望能够通过维护一对对田地间的路径使得任意两块田地间都有通路。奶牛们可以沿着任一方向的维护的路径旅游。 奶牛们并不建立路径,取而代之,他们维护他们所发现的野生动物建立的路径,任意一周,他们可以选择维护任意的一个或所有的他们所知道的野生动物建立的路径。 ...原创 2018-10-14 15:28:12 · 330 阅读 · 0 评论 -
1014 - 最优比率生成树 - 重修家园QUAKE(USACO_2001)
描述 地震已经破坏了农夫约翰所有的农场以及所有连接农场的道路。作为一个意志坚强的人,他决定重建所有的农场。在重建全部N(1 <= N <= 400)个农场之前,首先必须把所有农场用道路连接起来,即任意两个农场之间必须有至少一条通路。 在研究了地图之后,农夫约翰已经得出了结论:M(1 <= M <= 10,000)条双向的道路可以在较短的时间内建造好。由于约翰的资金有限,...原创 2018-10-14 16:38:07 · 213 阅读 · 0 评论 -
1026 - 最小瓶颈路 - Network(BZOJ3732)
传送门 分析 各路大佬都用Kruskal重构树在搞 小蒟蒻就先打一个简单的最小瓶颈路 求两点之间路径上的最大边权最小 显然,为了使最大的边权最小 我们就用边权最小的边将整个图联通(最小生成树) 那么此时最小瓶颈路肯定在这颗最小生成树上 我们就树上lcalcalca 维护maxn[x][i]maxn[x][i]maxn[x][i]表示从 xxx开始向上走 2i 步 这段距离的最大值 更新的话,和fa...原创 2018-10-26 18:17:53 · 188 阅读 · 0 评论 -
1026 - Kruskal重构树 - 货车运输(NOIP2013提高组)
传送门 牢骚 完全不知道自己在想什么…… 明明就是简单的最大生成树+倍增 非要弄一个Kruskal重构树+树链剖分 不管不管,反正我就是这么写了╭(╯^╰)╮ 洛谷数据不错,记得判连通性 类比Tarjan算法 分析 题目就是要求两个点路径之间的最小边权最大 显然,我们做一遍最大生成树 然后树上倍增,求最小值即可 但 偏不 这样搞 我们要优雅,优雅,优雅 用Kruskal重构树,嗯……听名字就很...原创 2018-10-26 20:15:25 · 164 阅读 · 0 评论 -
二分+Kruskal - Tree(BZOJ 2654)
描述 给你一个无向带权连通图,每条边是黑色或白色。让你求一棵最小权的恰好有need条白色边的生成树。 题目保证有解。 输入 第一行V,E,need分别表示点数,边数和需要的白色边数。 接下来E行 每行s,t,c,col表示这边的端点(点从0开始标号),边权,颜色(0白色1黑色) 输出 一行表示所求生成树的边权和。 样例输入 [复制] 2 2 1 0 1 1 1 0 1 2 0 样例输出 [复制] ...原创 2019-02-17 21:54:57 · 170 阅读 · 0 评论 -
Kruskal+dfs - 最小生成树计数 BZOJ1016[JSOI2008]
描述 现在给出了一个简单无向加权图。你不满足于求出这个图的最小生成树,而希望知道这个图中有多少个不同的 最小生成树。(如果两颗最小生成树中至少有一条边不同,则这两个最小生成树就是不同的)。由于不同的最小生 成树可能很多,所以你只需要输出方案数对31011的模就可以了。 输入 第一行包含两个数,n和m,其中1<=n<=100; 1<=m<=1000; 表示该无向图的节点数和...原创 2019-02-19 11:42:40 · 207 阅读 · 4 评论 -
最小乘积生成树 - Timeismoney(BZOJ2395)
Analysis 学习ing 最小乘积生成树 Code /* created by xly */ #include<bits/stdc++.h> #define in red() #define re register using namespace std; inline int red(){ char ch;int f=1,res=0; while((ch=getchar(...原创 2019-08-14 09:57:26 · 189 阅读 · 0 评论