当前位置: 首页 > news >正文

把自己做的网站传到网上百度站长工具seo

把自己做的网站传到网上,百度站长工具seo,qq空间如何做微网站,广告平台有哪些华为od-C卷200分题目6 - 5G 网络建设 题目描述 现需要在某城市进行 5G 网络建设,已经选取 N 个地点设置 5G 基站,编号固定为 1 到 N,接下来需要各个基站之间使用光纤进行连接以确保基站能互联互通,不同基站之间架设光纤的成本各不…

华为od-C卷200分题目6 - 5G 网络建设

题目描述
现需要在某城市进行 5G 网络建设,已经选取 N 个地点设置 5G 基站,编号固定为 1 到 N,接下来需要各个基站之间使用光纤进行连接以确保基站能互联互通,不同基站之间架设光纤的成本各不相同,且有些节点之间已经存在光纤相连,请你设计算法,计算出能联通这些基站的最小成本是多少。

注意,基站的联通具有传递性,即基站 A 与基站 B 架设了光纤基站 B 与基站 C 也架设了光纤,则基站 A 与基站 C 视为可以互相联通

输入
第一行输入表示基站的个数 N,其中 0 < N <= 20

第二行输入表示具备光纤直连条件的基站对的数目 M,其中 0 < M < N * (N - 1) / 2

第三行开始连续输入 M 行数据,格式为 X Y Z P,其中 X Y 表示基站的编号,0 < X <= N, 0 < Y <= N 且 X 不等于 Y, Z 表示在 X Y 之间架设光纤的成本,其中 0 < Z < 100,P 表示是否已存在光纤连接,0 表示未连接, 1 表示已连接。

输出
如果给定条件,可以建设成功互联互通的 5G 网络,则输出最小的建设成本,

如果给定条件,无法建设成功互联互通的 5G 网络,则输出-1

样例输入 复制
3
3
1 2 3 0
1 3 1 0
2 3 5 0
样例输出 复制
4
提示
只需要在 1,2 以及 2,3 基站之间铺设光纤,其成本为 3+1=4

import java.util.*;class Point {int parent;int size = 1;int cost = 0;public Point(int parent) {this.parent = parent;}
}public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();int x, y, z, p;Point[] points = new Point[n + 1];for (int i = 1; i < points.length; i++) {points[i] = new Point(i);}ArrayList<int[]> list = new ArrayList<>();HashSet<Integer> set = new HashSet<>();for (int i = 0; i < m; i++) {x = sc.nextInt();y = sc.nextInt();z = sc.nextInt();p = sc.nextInt();set.add(x);set.add(y);if (p == 1) {add(points, x, y, 0);} else {list.add(new int[]{x, y, z});}}Collections.sort(list, Comparator.comparingInt(o -> o[2]));for (int[] ints : list) {add(points, ints[0], ints[1], ints[2]);}int parent = -1;for (int i = 1; i <= n; i++) {if (parent == -1) {parent = getParent(points, i);}if (parent != getParent(points, i)) {System.out.println(-1);return;}}System.out.println(points[parent].cost);}private static void add(Point[] points, int x, int y, int cost) {int parentX = getParent(points, x);int parentY = getParent(points, y);if (parentY == parentX) {return;}if (points[parentY].size <= points[parentX].size) {points[parentY].parent = points[parentX].parent;points[parentX].size += points[parentY].size;points[parentX].cost += cost + points[parentY].cost;} else {points[parentX].parent = points[parentY].parent;points[parentY].size += points[parentX].size;points[parentY].cost += cost + points[parentX].cost;}}public static int getParent(Point[] points, int index) {while (index != points[index].parent) {index = points[index].parent;}return index;}
}

思路:主要就是并查集的思想,不断更新父节点,比较时比较size,哪个集合多哪个就作为父,先排序,按照成本排序,如果已经连接则跳过

http://www.tj-hxxt.cn/news/57712.html

相关文章:

  • 义乌做网站的公司有哪些河南网站顾问
  • 成人大专有必要上吗seo优化便宜
  • wordpress好还是帝国cms宁波seo网络推广主要作用
  • 免费网站模板无需注册网站推广方法
  • 电商网站支付体系建设特点全国免费发布信息平台
  • wordpress搜索提示seo 最新
  • 深圳知名网站建设公司网站推广优化排名公司
  • 安宁网站建设 熊掌号广告推广媒体
  • 以前可以做视频的网站来宾seo
  • 电子商务公司开发网站重庆百度推广排名
  • 南山网站设计方案百度收录站长工具
  • 网站开发设计实训总结电子商务培训
  • 河北网站建设就业考试徐州百度seo排名优化
  • 工程公司网站模板下载关键词排名网络推广
  • 做个赌博网站需要多少钱seo外包 杭州
  • 网站首页banner动态化疫情放开最新消息今天
  • 做网站怎么挣钱赚钱百度知道首页
  • 做网站什么框架比较好关键词代做排名推广
  • 做二手衣服的网站有哪些企业网站的基本功能
  • 手表网站域名天津网络广告公司
  • 别墅装修装饰网站推广优化设计方案
  • 什么网站做论坛签名国内外十大免费crm软件推荐
  • 江门网站推广技巧方法宁波网站优化公司推荐
  • 平面设计师的培训机构优化网络的软件下载
  • 新西兰网站建设企业seo外包公司
  • 淄博政府网站建设托管手机百度电脑版入口
  • 深圳做网站哪里最好企业邮箱
  • 网站开发的晋升晋升空间路径电商怎么做新手入门
  • 辽宁官方网站做辣白菜精准防控高效处置
  • 静态网站培训谷歌seo关键词优化