
Kruskal
文章平均质量分 72
PoPoQQQ
这个作者很懒,什么都没留下…
展开
-
BZOJ 1977 次小生成树 倍增LCA
题目大意:给定一个无向图,求严格次小生成树这题纠结了我同学很久。。。首先如果是不严格的次小生成树(权值可以等于最小生成树),那么我们就有一个很简单明了的算法:首先求出最小生成树 然后建立倍增LCA 枚举没进入最小生成树的边 在边的两端点的路径上寻找最大的边权 用最小生成树权值-最大边权+新边权去更新ans即可但是这道题是严格次小生成树 那么也好办 我们记录一个次大边权 如果枚举到的边权原创 2014-10-01 19:10:11 · 1598 阅读 · 0 评论 -
BZOJ 2654 tree 二分答案+Kruskal
题目大意:给定一张带权无向图,每条边有一个颜色(黑色/白色),求一棵生成树满足有needneed条白色边且权值和最小 二分一个xx,然后将所有白边权值加上xx,跑两遍Kruskal,第一遍白边排在前面,第二遍黑边排在前面,这样可以求出当前白边数量的最大最小值 如果needneed在最大最小值之间那么直接输出结果,否则如果小于最小值就增大xx,大于最大值就减小xx 然而我并不会证明正确性。。。#原创 2015-08-25 17:46:09 · 2178 阅读 · 0 评论 -
BZOJ 1821 JSOI2010 部落划分 Group Kruskal
题目大意:给定平面上的n个点,要求将这n个点划分为k个集合,使划分后任意两个集合中最近两点的距离的最大值最小,输出这个最小值考虑这n个点之间所有的连边 我们要让长边保留 就尽量选取短边链接于是就是求加入n-k条边的最小生成森林 由于输出下一个最小值 因此Kruskal加入第n-k+1条边时输出边权即可#include #include #include #include #in原创 2014-12-30 19:58:01 · 1494 阅读 · 0 评论 -
BZOJ 3551 ONTAK2010 Peaks加强版 Kruskal重构树+可持久化线段树
题目大意:同3545 强制在线3545题解传送门:http://blog.youkuaiyun.com/popoqqq/article/details/40660953强制在线没法排序 启发式合并也就用不了了Kruskal重构树是个挺好玩的东西 可以拿来处理一些最小生成树的边权最值问题这里我们Kruskal连边时并不直接连边 而是新建一个节点ext 将两个点所在子树都连到ext的儿子上比如原创 2014-11-21 14:40:10 · 4706 阅读 · 3 评论 -
BZOJ 2038 2009国家集训队 小Z的袜子(hose) 莫队算法
题目大意:给定n个点,每个点有一个颜色,m次询问,每次询问一个区间内随机选出两个点颜色相同的概率是多少OTZ莫队算法……具体做法无论是分块还是曼哈顿最小生成树网上都讲解的很详细 我就不累述了这个题的做法是记录一个cnt数组表示当前区间内每种颜色有多少个加入一个颜色为x的点就ans+=cnt[x] 然后cnt[x]++减少一个颜色为x的点就cnt[x]-- 然后ans-=cnt[原创 2014-11-07 10:40:28 · 1935 阅读 · 7 评论 -
BZOJ 3732 Network Kruskal重构树
题目大意:给定一个n个点m条边的无向连通图,k次询问两点之间所有路径中最长边的最小值Kruskal+倍增LCA做法见http://blog.youkuaiyun.com/popoqqq/article/details/39755703LCT做法见http://blog.youkuaiyun.com/popoqqq/article/details/39929277Kruskal重构树真是强大……一不小心手滑就R原创 2014-11-23 11:54:55 · 2394 阅读 · 1 评论 -
BZOJ 1196 HNOI2006 公路修建问题 二分答案+Kruskal
题目大意:给定一个无向图,一条边原创 2014-11-23 11:48:14 · 1900 阅读 · 0 评论 -
BZOJ 2594 Wc2006 水管局长数据加强版 Link-Cut-Tree
题目大意:给定一个无向图,多次删除某条边,多次查询两点之间路径上边权最大值的最小值Link-Cut-Tree维护动态最小生成树首先倒着做 将所有被删除的边标记(找边我用的排序+二分) 将没标记的边跑一遍Kruskal 求出最小生成树 然后每次加边和查询正常维护即可LInk-Cut-Tree一气呵成写完,Kruskal尼玛写挂了…… 居然忘记把并查集连边 这我也是醉了顺便吐槽一下题干原创 2014-11-21 14:24:55 · 2485 阅读 · 0 评论 -
BZOJ 1016 JSOI2008 最小生成树计数 Kruskal
题目大意:给定一个无向图,求最小生成树的方案数首先对于一个无向图的最小生成树,每种边权的边的数量是一定的首先我们先跑一遍Kruskal,求出最小生成树上每种边权的出现次数然后对于每种出现在最小生成树上的边权,我们从小到大处理对于每种边权,我们枚举这种边权的边有多少种方案可以加进最小生成树上而不形成环 这个用状压处理ans乘上这个值 然后把这种边权连接的所有联通块缩点注意最小原创 2014-10-18 15:58:05 · 1712 阅读 · 0 评论 -
BZOJ 3714 PA2014 Kuglarz Kruskal
题目大意:有n个杯子,一些下面有小球,你可以花c[i][j]的价钱询问[i,j]区间内小球数的奇偶,求知道所有小球的最小花销STO zrt大神…… http://www.cnblogs.com/zrts/p/bzoj3714.html其实这道题应该写prim……不过我写了Kruskal,交上去还在想会不会TLE 还好10S过了#include#include#include#in原创 2014-11-04 16:33:03 · 2131 阅读 · 0 评论 -
BZOJ 3732 Network Kruskal+倍增LCA
题目大意:给定一个n个点m条边的无向连通图,k次询问两点之间所有路径中最长边的最小值NOIP2013 货车运输,几乎就是原题。。。只不过最小边最大改成了最大边最小。。。首先看到最大值最小第一反应二分答案 但是二分答案O(kmlogn)明显做不了 这里我们考虑最小生成树先生成一棵最小生成树,然后每次询问利用倍增LCA求出路径上的最大权值即可本蒟蒻居然把LCA写挂了。。。 而且样例还过原创 2014-10-03 15:01:36 · 4088 阅读 · 0 评论 -
BZOJ 4777 Usaco2017 Open Switch Grass Kruskal+线段树
题目大意:给定一张带权无向图,每个点有一个颜色,每次改变一个点的颜色,要求你在操作后输出这个图中最近异色点对之间的距离 最近异色点对定义为:一对点颜色不同,且距离最小老年选手码什么数据结构 老老实实退役得了结论1:答案一定是一条边的两端点 证明:假如答案路径的边数≥2\geq 2,任取路径中间一点,显然它与路径的两端点中至少一个异色(因为两端点异色),故答案可以变得更小结论2:答案边一定在最小生原创 2017-03-24 03:19:39 · 2503 阅读 · 5 评论