最大最小生成树
文章平均质量分 52
Cyhlnj
这个作者很懒,什么都没留下…
展开
-
Heavy Transportation POJ - 1797
题意给你n个点,1为起点,n为终点,要求所有1到n所有路径中每条路径上最小值的最最值。思路不想打最短路 跑一边最大生成树,再扫一遍1到n的路径,取最小值即可,类似Frogger POJ - 2253,代码都没怎么改常数巨大的丑陋代码# include <stdio.h># include <stdlib.h># include <iostream># include <string.h>#原创 2017-07-26 21:25:58 · 229 阅读 · 0 评论 -
NOIP提高组 2013货车运输
觉得题目水的离开 不屑的大佬请离开 不会图论的请离开 ……. 感谢您贡献的访问量————————————华丽的分割线———————————— 题面:题目描述 A 国有 n 座城市,编号从 1 到 n,城市之间有 m 条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有 q 辆货车在运输货物, 司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。 输入输出格式 输入原创 2017-07-15 21:42:19 · 249 阅读 · 0 评论 -
Frogger POJ - 2253
题意给你n个点,1为起点,2为终点,要求所有1到2所有路径中每条路径上最大值的最小值。思路跑一边最小生成树,再扫一遍1到2的路径,取最大值即可注意g++要用%f输出!!!常数巨大的丑陋代码# include <stdio.h># include <stdlib.h># include <iostream># include <string.h># include <math.h># inc原创 2017-07-26 16:38:35 · 217 阅读 · 0 评论 -
Bzoj1016: [JSOI2008]最小生成树计数
题面传送门Sol最小生成树的性质:对于每一个MSTMSTMST,每一种边权所使用的边数相同所有MSTMSTMST中边权≤w≤w≤w的边组成的图的连通性相同那么这道题就枚举没个权值选那些边,如果连的个数和原来的相同就统计 最后乘法原理即可如果同边权过多就只能用矩阵树定理了 然而我太菜了不会。。# include <bits/stdc++.h>#...原创 2018-02-27 15:02:21 · 172 阅读 · 0 评论 -
Luogu4234:最小差值生成树
题面luoguSol好久没写LCTLCTLCT 然而写跪了TATTATTAT把边从小到大加入森林 如果形成环,就替换最小的边 如果已经是树,更新答案 LCTLCTLCT维护# include <bits/stdc++.h># define RG register# define IL inline# define Fill(a, b) mems...原创 2018-03-22 17:22:09 · 610 阅读 · 0 评论 -
Bzoj2654:tree
题目BzojSol神题! 二分所有的白边减去一个值,这样做kruskalkruskalkruskal就会多选一些白边 就这样 二分范围为[−101,101][−101,101][-101, 101]!!!# include <bits/stdc++.h># define RG register# define IL inline# define Fi...原创 2018-03-14 15:37:14 · 207 阅读 · 0 评论 -
Bzoj3714: [PA2014]Kuglarz
题面传送门Sol假如我们知道所有的前缀和数组,差分以下就得到了答案对于一组区间[l,r][l,r][l, r] 我们就知道了S[r]−S[l−1]S[r]−S[l−1]S[r]-S[l-1]的值,SSS即前缀和 那么如果把这看成一条边(l−1,r)(l−1,r)(l-1,r),那么最后只需要所有的点联通就可以求出所有点对之间的关系 那不就是最小生成树了 直接n2n2n^...原创 2018-03-28 13:26:57 · 127 阅读 · 0 评论 -
Bzoj4242:水壶
Sol暴力就是每个建筑物跑一遍 BFSBFSBFS 然后最短距离建最小生成树,询问倍增 正解比较巧妙 每个点记录一个 disdisdis 表示这个点到最近建筑的距离,visvisvis 表示最近的是哪一个 当一个建筑物走到它时,如果有其它的走到了这个点,那么直接两个建筑物连边# include <bits/stdc++.h># define IL inline# de...原创 2018-06-12 07:39:04 · 238 阅读 · 0 评论 -
Bzoj2395: [Balkan 2011]Timeismoney(最小乘积生成树)
问题描述每条边两个权值 x,yx,yx,y,求一棵 (∑x)×(∑y)(∑x)×(∑y)(\sum x) \times (\sum y) 最小的生成树Sol把每一棵生成树的权值 ∑x∑x\sum x 和 ∑y∑y\sum y 看成平面上的一个点 (X,Y)(X,Y)(X,Y)那么就是要求 X×YX×YX \times Y 最小设 k=X×Yk=X×Yk=X \times Y,则...原创 2018-08-06 20:42:33 · 230 阅读 · 0 评论