
图论---最小生成树
forezxl
水君一枚
展开
-
BZOJ1083 繁忙的都市 (洛谷P2330)
1083: [SCOI2005]繁忙的都市Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2851 Solved: 1879 [Submit][Status][Discuss] Description 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造。城市C的道 路是这样分布的:城市中有n个交叉路口,原创 2017-05-17 19:25:16 · 522 阅读 · 0 评论 -
BZOJ5415 [Noi2018]归程(洛谷P4768)
BZOJ5415: [Noi2018]归程(洛谷P4768)Kruskal重构树BZOJ题目传送门 洛谷题目传送门这道题做法很多,我所知道的还有可持久化并查集(同学写了这个),因为离线是用并查集做,那么在线就可持久化一下。BZOJ上有可持久化并查集这道题。这里采用Kruskal重构树。先Dijkstra+heap预处理出其他点到1的最短路,再以海拔为第一关键字构造Kruska...原创 2018-08-02 22:05:19 · 217 阅读 · 0 评论 -
BZOJ3732 Network
kruskal重构树题目传送门所谓kruskal重构树,就是在kruskal做最小生成树的时候,每次合并时新建一个节点,其儿子为两个要合并的节点,权值为边权。它有个很重要的性质:构成的树是个大根堆。那么原图上两个点之间最长路径最小值就是它们LCA处的点权。所以我们只要建出kruskal重构树后直接跳LCA即可。代码:#include<cctype>#inc...原创 2018-08-02 20:11:19 · 244 阅读 · 0 评论 -
BZOJ3732 Network
最小生成树 LCA题目传送门刚开始想着二分来着显然答案在最小生成树上。然后建完树在树上跳LCA就好了。代码:#include<cctype>#include<cstdio>#include<cstring>#include<algorithm>#define N 15005#define F inlineusing...原创 2018-07-07 10:35:16 · 267 阅读 · 0 评论 -
BZOJ1196 [HNOI2006]公路修建问题(洛谷P2323)
最小生成树BZOJ题目传送门 洛谷题目传送门因为一级公路的花费一定大于二级公路,那么我们当然恰好选kkk条一级公路时是最优的。先以c1c1c_1为关键字排序选kkk条边,再以c2c2c_2为关键字排序选n−k−1n−k−1n-k-1条边即可。代码:#include&lt;cctype&gt;#include&lt;cstdio&gt;#include&lt;cstring&g...原创 2018-06-05 21:10:10 · 244 阅读 · 0 评论 -
BZOJ2654: tree
二分 最小生成树题目传送门这种二分貌似和WQS二分有点像。二分一个给白色边的边权xxx,当最后求得的生成树白色边≥need≥need\geq need时更新ans=sum−need∗xans=sum−need∗x ans=sum-need*x并上调边权使得下次选择白色边的数目减少,否则下调边权。正确性YY一下应该比较显然。代码:#include<cctype>...原创 2018-05-19 19:47:56 · 237 阅读 · 0 评论 -
洛谷P4172 [WC2006]水管局长(BZOJ2594)
LCT 最小生成树洛谷题目传送门 BZOJ题目传送门 改了好久。。。都跨月了 最后发现x&gt;y的时候没有swap然后排序就炸了。。。同这道题。 维护边权套路加一个点。 删边的话就把过程倒过来,从最终状态加边就好了。具体实现详见代码(记个id然后sort一下) 注意数据加强版要先在最终状态的那几条边跑MST,完成了就break,不能像那道题一样和加边一起算(别问我怎么知道的,1...原创 2018-04-07 10:47:34 · 264 阅读 · 0 评论 -
洛谷P4180 【模板】严格次小生成树[BJWC2010](BZOJ1977)
次小生成树洛谷题目传送门 BZOJ题目传送门次小生成树裸题。先求出最小生成树,然后写个倍增算出最小生成树边的最大和次大值。最后求LCA的时候更新答案就好了。次小生成树一定是最小生成树换了一条边。代码:#include<cctype>#include<cstdio>#include<cstring>#include<alg...原创 2018-04-18 20:10:29 · 1464 阅读 · 0 评论 -
BZOJ3669: [Noi2014]魔法森林(洛谷P2387)
LCT 最小生成树BZOJ题目传送门 洛谷题目传送门先对边按照a排个序,就像cdq分治那样除去其中一维的影响,而b用LCT动态维护最大值。当边的两端不连通时直接加边,否则找到两端路径上b的最大值,与当前边比较考虑是否加入并删除原来的边。但是LCT搞不了边权,可以把一条边变成一个点,然后并把边权赋给这个点(如x−>yx−>yx->y变成x−>z−>yx−&g...原创 2018-03-12 14:47:06 · 384 阅读 · 0 评论 -
BZOJ2429 聪明的猴子 (洛谷P2504)
最小生成树原创 2017-05-17 20:44:59 · 486 阅读 · 0 评论 -
BZOJ2753 滑雪与时间胶囊 (洛谷P2573)
最小生成树原创 2017-06-30 08:14:32 · 425 阅读 · 0 评论 -
BZOJ3624: [Apio2008]免费道路(洛谷P3623)
并查集BZOJ题目传送门洛谷题目传送门做两遍生成树,第一遍优先选111边求出必须选的000边。第二遍先把必选的000边选了,再选满kkk条000边就好了。注意判no solution\text{no solution}no solution的三种情况:图不连通或000边个数&lt;k&lt;k<k或必选000边个数&gt;k&gt;...原创 2018-10-14 21:10:49 · 205 阅读 · 0 评论