局域网——Prim Kruskal

题目

Prim (生成一颗包含起点的最小生成树,所以要多次调用)

#include <bits/stdc++.h>using namespace std;const int N = 510;
const int inf = 0x3f3f3f3f;int n, m;
int g[N][N], dis[N];
bool p[N], vis[N];int prim (int u)
{memset(dis, 0x3f, sizeof dis); dis[u] = 0;int sum = 0;for(int i = 0 ; i < n ; i ++ ){int t = -1;for(int j = 1 ; j <= n ; j ++ )if(!p[j] && (t == -1 || dis[t] > dis[j]))t = j;if(i && dis[t] == inf) return sum;p[t] = 1;if(i) sum += dis[t]; // 第一个点为根节点没有边权vis[t] = 1;for(int j = 1 ; j <= n ; j ++ )if(!p[j] && dis[j] > g[t][j]) dis[j] = g[t][j];}return sum;
}int main ()
{int ans = 0;cin >> n >> m;for(int i = 1 ; i <= n ; i ++ )for(int j = 1 ; j <= n ; j ++ )if(i == j) g[i][j] = 0;else g[i][j] = inf;for(int i = 1 ; i <= m ; i ++ ){int a, b, c;cin >> a >> b >> c;g[a][b] = g[b][a] = min(g[a][b], c);ans += min(g[a][b], c);}int t = 0;for(int i = 1 ; i <= n ; i ++ )if(!vis[i]) t += prim(i);cout << ans - t << endl;return 0;
}

Kruskal (如果有多颗生成树,生成最小生成森林)

#include <bits/stdc++.h>
using namespace std;
const int N = 110;
const int M = 210;
struct edge{int a;int b;int c;bool operator < (const edge& v){return c < v.c;}
} e[M];
int p[N];
int n, idx, m;
int find(int x)
{if(p[x] != x) p[x] = find(p[x]);return p[x];
}
int kruskal()
{int retv = 0;for(int i = 1; i <= n; i++)p[i] = i;sort(e+1,e+m+1);for(int i = 1; i <= m; i++){int a = e[i].a, b = e[i].b, c = e[i].c;a = find(a), b = find(b);if(a != b){p[a] = b;retv += c;}}return retv;
}
int main()
{cin >> n >> m;int sum = 0;for(int i = 1; i <= m; i++){int a, b, c;cin >> a >> b >> c;e[++idx]  = {a, b, c};sum += c;}int t = kruskal();cout << sum - t;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/453531.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式检测线路、精准定位故障:输电线路故障定位监测系统

分布式检测线路、精准定位故障&#xff1a;输电线路故障定位监测系统 随着电力行业的快速发展和电网规模的不断扩大&#xff0c;输电线路作为电力传输的“生命线”&#xff0c;其安全稳定运行对于保障电力供应、促进经济社会发展具有重要意义。然而&#xff0c;输电线路通常暴…

[云] Deploying Your First Serverless Application

• Goal: • Hands-on lab to get started with Serverless • Agenda: • Deploying Your First Serverless Application • Assignment Introduction Create and test function in AWS Lambda • Lets create an addition function using AWS Lambda. • To create the addi…

HCIP-HarmonyOS Application Developer 习题(十六)

&#xff08;判断&#xff09;1、HiLink通过分布式软总线的方式连接所有设备&#xff0c;强能力设备可对弱能力设备进行设备虚拟化&#xff0c;将弱设备当做本机设备直接调用。 答案&#xff1a;错误 分析&#xff1a;HiLink 主要针对的是应用开发者与第三方设备开发者&#xf…

100种算法【Python版】第1篇——贪心策略

贪心是一种策略 1 策略内核1.1 基本思想1.2 策略步骤1.3 贪心算法举例说明1.3.1 活动选择问题1.3.2 01背包问题1.3.3 最优解分析 2 贪心策略的应用2.1 应用&#xff1a;计算单源最短路径2.2 应用&#xff1a;霍夫曼编码字符串 3 策略优缺点3.1 优点3.2 缺点3.3 总结 1 策略内核…

助力语音技术发展,景联文科技提供语音数据采集服务

语音数据采集是语音识别技术、语音合成技术以及其他语音相关应用的重要基础。采集高质量的语音数据有助于提高语音识别的准确性&#xff0c;同时也能够促进语音技术的发展。 景联文科技作为专业的数据采集标注公司&#xff0c;支持语音数据采集。可通过手机、专业麦克风阵列、专…

快速了解Python流程控制语句基本使用

&#x1f600;前言 在编程中&#xff0c;流程控制语句是用于控制程序执行顺序的关键部分。通过条件判断和循环机制&#xff0c;程序能够根据不同的情况选择执行特定的代码块&#xff0c;或重复执行某段代码。本文将详细介绍 Python 中常见的流程控制语句&#xff0c;包括 if、i…

JS事件和DOM

1. DOM 1.1 基本概念 DOM&#xff0c;全称 Document Object Model&#xff0c;即文档对象模型。它是 Web 上最常用的 API 之一&#xff0c;是加载在浏览器中的文档模型&#xff0c;可以将文档表示为节点树&#xff08;或称 DOM 树&#xff09;&#xff0c;其中每个节点代表文…

缓存常见问题:缓存穿透、雪崩、击穿及解决方案分析

1. 什么是缓存穿透&#xff0c;怎么解决&#xff1f; 缓存穿透是指用户请求的数据在缓存中不存在即没有命中&#xff0c;同时在数据库中也不存在&#xff0c;导致用户每次请求该数据都要去数据库中查询一遍。如果有恶意攻击者不断请求系统中不存在的数据&#xff0c;会导致短时…

Java面试场景题(1)---如何使用redis记录上亿用户连续登陆天数

感谢uu们的观看&#xff0c;话不多说开始~ 对于这个问题&#xff0c;我们需要先来了解一下~ 海量数据都可以用bitmap来存储&#xff0c;因为占得内存小&#xff0c;速度也很快 我大概计算了一下~ 完全够&#xff1a;String类型512M 1byte 8个bit位 8个状态 512M1024byt…

计算机组成原理(笔记7高速缓冲存储器Cache,计算机组成原理的重难点全、直接、组相连)

为什么要设立高速缓冲存储器 &#xff08;Cache&#xff09;&#xff1f; Cache是介于CPU和主存之间的小容量存储器&#xff0c;存取速度比主存快。它能高速地向CPU提供指令和数据&#xff0c;加快程序的执行速度。它是为了解决CPU和主存之间速度不匹配而采用的一项重要技术。…

01 一篇读懂25机械考研复试超全流程讲解|考研面试经验和面试真题快来背诵!

复试面试流程及经验汇总篇 千万不要小瞧出成绩前的准备以及最常见面试问题你提前熟记于心&#xff0c;面试再遇到&#xff0c;能够有逻辑有条理的回答出不是空洞的话&#xff0c;给导师的印象分就肯定高。 考研复试面试最全最完整的实用攻略&#xff0c;从出考研初试成绩前到…

《深度学习》模型的部署、web框架 服务端及客户端案例

目录 一、模型的部署 1、模型部署的定义与目的 1&#xff09;定义 2&#xff09;目的 2、模型部署的步骤 1&#xff09;导出模型 2&#xff09; 部署模型 3&#xff09;测试模型 4&#xff09;监控模型 3、模型部署的方式 1&#xff09;云端部署 2&#xff09;嵌入…

RHCE--at,crontab例行性工作

一&#xff1a;安装at &#xff08;1&#xff09;配置yum仓库&#xff1a;以配置网络源举例&#xff1a; 先在/etc/yum.repos.d/ 目录下创建一个以.repo结尾的文件 vim /etc/yum.repos.d/aliyun.repo 写入可以在阿里云镜像站查找appstream和baseos的地址阿里巴巴开源镜像站…

内核调度hh

的国际化的比较好 11 其他

英语语法学习框架(考研)

一、简单句 英语都是由简单句构成&#xff0c;简单句共有五种基本句型&#xff1a;①主谓&#xff1b;②主谓宾&#xff1b;③主谓宾宾补&#xff1b;④主谓宾间宾&#xff08;间接宾语&#xff09;&#xff1b;⑤主系表&#xff1b; 其中谓语是句子最重要的部分&#xff0c;谓…

别再用老旧架构了!单元化构建超强弹性和容错系统!

0 关键收获 单元化架构提高了微服务的弹性和容错性。可观察性对于开发和运营单元化架构至关重要。单元路由器是单元基础架构的关键组件&#xff0c;它需要快速响应单元可用性和健康变化。要成功采用单元化架构&#xff0c;需要全面和综合的方法来实现可观察性。单元化架构利用…

改变函数调用上下文:apply与call方法详解及实例

目录 改变函数调用上下文&#xff1a;apply与call方法详解及实例 一、什么是 apply 方法&#xff1f; 1、apply 语法 2、apply 示例 二、什么是 call 方法&#xff1f; 1、call 语法 2、call 示例 三、apply 和 call 的共同与差异 1、apply 和 call 的共同点 2、apply…

centos7-网络模式选择NAT连接时遇到的问题

今天花了我一上午的时间&#xff0c;必须要记录一下。 新创建的虚拟机&#xff0c;选择的centos7-NAT的网路连接模式。 科普一下: 我选择的NAT模式&#xff0c; 然后改了 vi /etc/sysconfig/network-scripts/ifcfg-ens33文件的 source ~/.bashrc和reboot之后 执行service n…

nginx 快速入门

配置文件 nginx.conf 每个 http 块可以包括多个 server 块&#xff0c;而每个 server 块就相当于一个虚拟主机 #这一行表示这个server块监听的端口是80&#xff0c;只要有请求访问了80端口&#xff0c;此server块就处理请求listen 80;# 表示这个server块代表的虚拟主机的名字…

优雅的入参校验,Valid常用校验

更好的阅读体验&#xff1a;优雅的入参校验&#xff0c;Valid常用校验 对于前端传递的参数&#xff0c;正常情况下后端是要进行一些必要的校验&#xff0c;最简单的做法是用 if 效果是可以&#xff0c;但不优雅。使用 Validator 代替 if&#xff0c;就会优雅很多 ps&#xff…