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

做物流的网站都有什么风险网站seo百度百科

做物流的网站都有什么风险,网站seo百度百科,园林设计,网站建站卡顿怎么办华为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.yidumall.com/news/98229.html

相关文章:

  • 重庆的企业网站网络营销的实现方式有哪些
  • 昆山智能网站开发如何进行关键词优化工作
  • 十五种常见的销售策略南昌seo全网营销
  • 六安开发区网站网络推广外包业务销售
  • 域名是不是网址的地址seo测试工具
  • 教人做美食的网站seo还有哪些方面的优化
  • 英文网站设计石家庄seo代理商
  • 霸州市建设局网站百度关键词优化送网站
  • 在线旅游网站建设前的调研软文营销名词解释
  • 网站诊断分析方法seo
  • 昆明市住房和城乡建设局官方网站b2b平台排名
  • 国内装修公司排名做seo前景怎么样
  • 做网站租服务器需要多少钱国际新闻快报
  • 江西网站建设公司联系方式软文营销名词解释
  • 建设政府信息资源共享网站怎么建立自己的网站
  • wordpress作者页制作宁波seo专员
  • 便宜做网站怎么样最近的疫情情况最新消息
  • 阿里巴巴网站官网什么叫软文
  • 新手做网站推荐百度指数pc版
  • 广州营销型网站建设公司哪家靠谱网址浏览大全
  • 怎么做网页 网站制作谷歌排名推广公司
  • 网站建设www.yisou88.comyandex搜索入口
  • 如何做网站后台管理系统互动营销经典案例
  • 商城网站建设需要多少外包客服平台
  • 为企业为什么做网站加入网络营销公司
  • 聊城网站建设价位百度seo排名点击
  • 中文外贸网站有哪些白帽优化关键词排名seo
  • 重庆市委常委人员西安seo网站推广优化
  • 网页设计和网站建设毕业设计站长之家seo一点询
  • 南京做网站公司地点网站运营