
kruskal
SC.ldxcaicai
我很菜=_=
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[NOI2018]归程(return)(kruskal重构树)
传送门 新鲜出炉的noi2018试题。 话说今年T1被许多大佬秒掉了。 lzy就是其中一个,并且他解法传给了我。 下面讲讲这题的解法: 首先要学习一个叫做kruskal重构树的东东。听名字就知道跟kruskal算法有关,没错,原来的kruskal算法就是用并查集实现的,但当我们使用kruskal重构树的时候,对于每次找出的不同的两个连通块的祖先,我们都新建一个点作为两个祖先的父亲,并...原创 2018-07-18 22:49:08 · 1610 阅读 · 0 评论 -
uoj#14. 【UER #1】DZY Loves Graph(并查集)
传送门题意简述:要求支持以下操作:在a与b之间连一条长度为i的边(i是操作编号);删除当前图中边权最大的k条边;表示撤销第 i−1次操作,保证第1次,第i−1 次不是撤回操作。要求在每次操作后输出当前图的最小生成树边权和。思路:由于边权为当前操作编号因此相当于边是单调加入的,也就是说我们可以直接上kruskalkruskalkruskal的合并方法。关键在于怎么维护这几个操作。加边...原创 2019-01-22 00:36:13 · 272 阅读 · 0 评论 -
bzoj2238: Mst(kruskal+树链剖分)
传送门树链剖分菜题。题意简述:给一个无向图,边有边权,每次询问删一条边(对后面的询问无影响)之后的最小生成树。思路:先跑一次kruskalkruskalkruskal并把跑出来的最小生成树给链剖了。然后考虑如果没有删掉树边答案不变,如果删掉一条能够接上的就只有覆盖了这条边的路径,因此对于每条非树边都用来更新一次树边的信息,O(1)O(1)O(1)处理询问即可。注意要转边为点代码:...原创 2019-01-20 23:16:27 · 273 阅读 · 0 评论 -
NOIP模拟 迅雷(kruskal/二分+并查集)
传送门题意简述:给一张带权无向图,有a,ba,ba,b两类特殊点和普通点,问使得至少有一个aaa和一个bbb连通所需要的所有边边权最小值的最大值是多少。思路:一眼发现可以二分,考虑怎么checkcheckcheck显然直接把所有大于二分值的并起来看满不满足要求。正准备写的时候想了一个更简单的,把边排个序然后从大到小加进去直到满足题意时就是答案。代码...原创 2019-01-20 14:40:48 · 213 阅读 · 0 评论 -
bzoj2753: [SCOI2012]滑雪与时间胶囊(最小生成树)
传送门最小生成树菜题。题意:给出一些有向边,问有向的最小生成树。思路:先dfsdfsdfs一把所有有用的边都存起来,然后按终点点权为第一关键字,边权为第二关键字给边排序保证最小生成树的合法性,排完之后跑kruskalkruskalkruskal就行了。代码:#include<bits/stdc++.h>#define ri register int#define fi ...原创 2019-01-17 16:57:13 · 1405 阅读 · 0 评论 -
2018.10.19 NOIP模拟 比特战争(kruskal)
传送门考完发现是sbsbsb题啊。直接考虑优化状压的转移。可以证明最优解一定在求最小生成树的时候取得。因此再最小生成树时维护一下连通块的最值统计答案就行了。代码...原创 2018-10-19 19:09:29 · 257 阅读 · 0 评论 -
2018.09.30 bzoj3551:Peaks加强版(dfs序+主席树+倍增+kruskal重构树)
传送门一道考察比较全面的题。这道题又用到了熟悉的kruskal+倍增来查找询问区间的方法。查到询问的子树之后就可以用dfs序+主席树统计答案了。代码:#include&amp;lt;bits/stdc++.h&amp;gt;#define N 200005#define M 500005using namespace std;inline int read(){ int ans=0; ch...原创 2018-09-30 14:40:04 · 223 阅读 · 0 评论 -
2018.09.15 bzoj1977:次小生成树 Tree(次小生成树+树剖)
传送门 一道比较综合的好题。 由于是求严格的次小生成树。 我们需要维护一条路径上的最小值和次小值。 其中最小值和次小值不能相同。 由于不喜欢倍增我选择了用树链剖分维护。 代码:#include<bits/stdc++.h>#define N 100005#define M 300005#define lc (p<<1)#define rc (p&...原创 2018-09-15 15:50:17 · 353 阅读 · 0 评论 -
2018.07.22 洛谷P1967 货车运输(kruskal重构树)
传送门 这道题以前只会树剖和最小生成树+倍增。 而现在学习了一个叫做kruskalkruskalkruskal重构树的优美姿势,搞得我不想写都不行了。好吧事实上krsukalkrsukalkrsukal重构树上两点的lcalcalca就是它们路径上的瓶颈这个优美的性质可以秒杀这道题。代码如下:#include&lt;bits/stdc++.h&gt;#define N 10005...原创 2018-07-22 15:53:07 · 242 阅读 · 0 评论 -
bzoj3322: [Scoi2013]摩托车交易(kruskal重构树+贪心)
传送门题意咕咕咕思路:先把所有可以列车通的缩成一个点,然后用新图建立kruskalkruskalkruskal重构树。这样就可以倒着贪心模拟了。代码:#include<bits/stdc++.h>#define ri register int#define int long long#define fi first#define se secondusing n...原创 2019-03-28 21:45:50 · 199 阅读 · 0 评论