题意: 有$n$个村庄,村庄在不同坐标和海拔,现在要对所有村庄供水,只要两个村庄之间有一条路即可,建造水管距离为坐标之间的欧几里德距离,费用为海拔之差,现在要求方案使得费用与距离的比值最小。\(n<=1000\) ##思路: 经典的01分数规划求解最优比率生成树,在此题中稠密图采用暴力Prim求解。 ...
分类:
其他好文 时间:
2021-02-16 12:07:40
阅读次数:
0
冗余网络拓扑 : 好处 确保网络可用性,消除了由于单点故障所引致的网络不通问题 缺点 带来了广播风暴、重复帧和MAC地址表不稳定的问题 冗余网络拓扑产生的问题: 广播风暴、重复帧、MAC地址表不稳定 STP Spanning Tree Protocol 生成树协议: 数据链路层协议,在IEEE 80 ...
分类:
其他好文 时间:
2021-02-16 11:43:04
阅读次数:
0
题目链接:https://acm.ecnu.edu.cn/contest/354/problem/A/ 原做法:树上倍增+lca,可能生成树的时候复杂度太高,用的是类似并查集的合并方式。 oj上的大佬:https://acm.ecnu.edu.cn/contest/354/submission/22 ...
分类:
其他好文 时间:
2021-02-15 12:10:05
阅读次数:
0
Link Description 一个 \(n\) 个点的图 \(G\),每两个点之间都有一个概率 \(p_{i,j}\) 存在一条边。求存在生成树的概率。 Solution 对于一个特定的生成树 \(T\),其边集为 \(E\),那么生成它的概率就是 \(\prod_{e\in E} p_e \p ...
分类:
其他好文 时间:
2021-02-01 12:20:02
阅读次数:
0
[题目链接] https://atcoder.jp/contests/arc093/tasks/arc093_c [题解] 一个重要的观察是 : 最多只会用一条不在忽略颜色求得的最小生成树上的边。 首先不妨求出最小生成树 , 并计算其权值 \(W\) , 令 \(\delta = X - W\)。 ...
分类:
其他好文 时间:
2021-01-26 12:00:48
阅读次数:
0
使用邻接矩阵存储加权图,无穷大使用常数MAXLEN代表,然后使用Dijkstra方法求取最短路径 1 #include <stdio.h> 2 3 #define MAXLEN 1000 4 int cost[7][7]; 5 int dist[7]; 6 7 void creategraph(in ...
分类:
编程语言 时间:
2021-01-06 11:45:19
阅读次数:
0
题目链接: POJ2728 Desert King 题目大意: 有 \(N\) 个沙漠中的城市,给出他们的坐标和海拔,每两个城市之间建输水管道的费用为其海拔差的绝对值,要求输水管道组成一个生成树,求管道每单位长度平均费用的最小值。 多组数据, \(2\leq N\leq 1000\) 。 思路: 最 ...
分类:
其他好文 时间:
2021-01-01 12:33:52
阅读次数:
0
prime算法与dijkstra算法非常相似,主要区别是更新连接路径时,prime中是跟踪接下来的结点到生成树中的最小交叉边,而dijkstra中是跟踪接下来的结点到 起点所有经过的结点的路径和,这个算法也能算出花最少的钱去把各个村庄连接起来。 算法描述: 普利姆算法求最小生成树时候,和边数无关,只 ...
分类:
编程语言 时间:
2020-12-31 12:34:51
阅读次数:
0
根据上图, 构造出来的最小生成树的权值和应为 16. 主要部分代码: /** * 将最小生成树保存为邻接表存储的图 MST, 返回最小权重和 * @param Graph * @param MST 即 Minimun-cost Spanning Tree 最下生成树 * @return */ int ...
分类:
编程语言 时间:
2020-11-30 15:25:45
阅读次数:
4
https://www.luogu.com.cn/problem/P3366 1 #define IO std::ios::sync_with_stdio(0) 2 #include <bits/stdc++.h> 3 #define pb push_back 4 using namespace s ...
分类:
其他好文 时间:
2020-11-26 15:24:23
阅读次数:
48