最小生成树
L_0_Forever_LF
一个热爱OI的OIer
展开
-
BZOJ大视野 1083: [SCOI2005]繁忙的都市 解题报告
二分+最小生成树原创 2015-02-20 19:26:18 · 1095 阅读 · 0 评论 -
BZOJ3732: Network
最小生成树,可证这样一定能使得任意两点间最长边的取得最小值 然后LCA../************************************************************** Problem: 3732 User: lichangdongtw Language: C++ Result: Accepted Time:324 ms原创 2017-03-18 08:48:26 · 420 阅读 · 0 评论 -
BZOJ2753: [SCOI2012]滑雪与时间胶囊
可以发现要求的是一个有向图的最小生成树 但这个有向图满足一个特性,即边都是从高的点连向低的点或相同高度的点 直接按无向图用kruskal之所以不行,是因为会出现下图情况 先访问了a->b,再访问c->b且此时c不在最小生成树中,那这条有向边本来无法拓展,但被当作无向边拓展了 于是考虑避免这种情况,先只处理起点能到达的节点,然后将边按终点高度第一关键字排序,边权为第二关键字排序,就可以避免原创 2017-04-27 09:12:24 · 828 阅读 · 0 评论 -
BZOJ3060: [Poi2012]Tour de Byteotia
最小生成树原创 2017-03-06 22:07:00 · 500 阅读 · 0 评论 -
codeforces 891C
给出一个无向图,每次询问图中的一个边集,是否存在包含这个边集的MST考虑怎么判断是否存在包含某一条边的MST 若他不在原图的MST上,显然只能尝试用它替换一条权值相等的,MST上的边 设他的权值为c,可以先对权< c的边先做kruskal建出生成树,用这些边将原图缩点 然后若这条边在这个缩完点的图上不是自环,就合法对于每个询问的边集,不同的边权显然互相独立 这个边集合法的充要条件是每条边合法原创 2017-11-19 17:15:00 · 797 阅读 · 0 评论 -
BZOJ3206: [Apio2013]道路费用
表达一下深深的怨念题面保证了边权互不相同,然鹅我做这题的时候狂WA不止,对拍只有边权相同的时候能拍出来,交到uoj上也过了 我就怀疑数据有问题qwq 于是扒了一个AC代码,加了判如果有相同边权,输出了一些脏话qwq 然后0msWA了 注释掉这行 A掉了 …….要了数据 这数据…一半以上一堆相同边权的吧….边权互不相同保证了不考虑操作边的MST唯一,不保证相同边权…似乎不太可做? 辣鸡原创 2017-12-05 11:28:28 · 399 阅读 · 0 评论 -
BZOJ3714: [PA2014]Kuglarz
用s[i]代表1~i的球数,每次查i~j相当于知道了s[j]-s[i-1]的奇偶性 要确切知道每个位置有没有球,就是要知道所有s[i]-s[i-1]的奇偶性 然后对应一个MST的模型= =code:#include<set> #include<map> #include<deque> #include<queue> #include<stack> #include<cmath> #include原创 2017-12-15 09:31:33 · 251 阅读 · 0 评论 -
BZOJ4883: [Lydsy2017年5月月赛]棋盘上的守卫
一个位于(i,j)的守卫只能控制i行或者j列 我们将这样的一个守卫视为连接i,j的一条无向边,那么我们的目标就是选出花费最小的一组边,使得对每条边定向后,每个点的入度恰好为1 那么对于每个联通块,他就是一个基环外向树,要求花费最小,类比最小生成树的建树过程,建一个最小生成环套树森林qaq 正确性的话….脑补一下?我也没有仔细去想证明qaq code: #include<set&...原创 2018-03-19 22:04:11 · 346 阅读 · 0 评论