图论:最小生成树
文章平均质量分 90
ProLightsfxjh
这个作者很懒,什么都没留下…
展开
-
UESTC 1146 秋实大哥与连锁快餐店 最小生成树、Prim
秋实大哥开了一家快餐店之后,由于人赢光环的影响,很快就赚得了大量的资金。为了继续实现心中的远大的理想,他打算在全国各地开设分店赚大钱。假设现在有n家快餐店(其中有至少有一家是旗舰店)分布在二维平面上,第i家快餐店的坐标为(xi, yi)。为了方便交通,他打算在一些快餐店之间修建道路使得任意一家快餐店都能够通过道路到达某一家旗舰店。但是秋实大哥忙于赚钱和过节,没有时间来设计道路,你能帮助秋实大哥算出最少一共需要修建多长的道路吗?原创 2016-03-16 21:10:25 · 2660 阅读 · 0 评论 -
UESTC 1636 梦后楼台高锁,酒醒帘幕低垂 最小生成树Kruskal算法的扩展
题意:给出一个有n个点和m条边的无向连通图,每条边都有一个权值w.定义,对于一条路径,它的Charm value为该路径上所有边的权值的最大值与最小值的差.询问从1到n的所有路径的Charm value的最小值.最小生成树Kruskal算法的扩展首先把边按照边权排序,然后对于每个i,向后枚举,并把边加入连通块,当1和n属于同一个连通块时刷新ans,并接着枚举下一个i。时间复杂度 O(mlogm)空间复杂度 O(m)原创 2017-05-28 15:01:09 · 1609 阅读 · 4 评论 -
UESTC 1641 此情无计可消除,才下眉头,却上心头。 最小生成树、Kruskal
题意:有一个长度为n的未知的01序列,询问区间[l,r](1<=l<=r<=n)的异或和代价为C[l][r],求通过询问得到该序列的最小代价.最小生成树、Kruskal建立n+1个虚拟点0到n,对于询问区间[l,r],在l-1与r之间连边,边权为C[l][r],那么能得到该序列的极小询问集合会构成这n+1个点的一个生成树,代价为边权和。证明(?):要得到n个位置的值,至少要询问n次若询问集合构成的图存在回路那么该回路对应的询问子集中任意一个询问的结果都可以由其它询问得到。故询问集合构成的图原创 2017-05-28 16:15:54 · 1115 阅读 · 0 评论