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

数据中心 第十五次CCF-CSP计算机软件能力认证

总结一下图树算法比如krusal 迪杰斯特拉 prim算法喜欢改变距离定义 或者求别的东西

而拓扑排序喜欢大模拟

本题使用kerusal算法求出最后一条边就可以。

ac代码:
 

#include <iostream>
#include <vector>
#include <algorithm>using namespace std;// l,r为 边两边的节点,val为边的数值
struct Edge {int l, r, val;
};// 节点数量
int n = 50002;
// 并查集标记节点关系的数组
vector<int> father(n, -1); // 节点编号是从1开始的,n要大一些// 并查集初始化
void init() {for (int i = 0; i < n; ++i) {father[i] = i;}
}// 并查集的查找操作
int find(int u) {return u == father[u] ? u : father[u] = find(father[u]); // 路径压缩
}// 并查集的加入集合
void join(int u, int v) {u = find(u); // 寻找u的根v = find(v); // 寻找v的根if (u == v) return; // 如果发现根相同,则说明在一个集合,不用两个节点相连直接返回father[v] = u;
}int main() {int v, e;int root;int v1, v2, val;vector<Edge> edges;int result_val = 0;cin >> v >> e>>root;while (e--) {cin >> v1 >> v2 >> val;edges.push_back({ v1, v2, val });}// 执行Kruskal算法// 按边的权值对边进行从小到大排序sort(edges.begin(), edges.end(), [](const Edge& a, const Edge& b) {return a.val < b.val;});// 并查集初始化init();// 从头开始遍历边for (Edge edge : edges) {// 并查集,搜出两个节点的祖先int x = find(edge.l);int y = find(edge.r);// 如果祖先不同,则不在同一个集合if (x != y) {//最后为最后一次加入该最小生成树的边.result_val = edge.val;join(x, y); // 两个节点加入到同一个集合}}cout << result_val << endl;return 0;
}

http://www.xdnf.cn/news/315037.html

相关文章:

  • 【day04】Fibonacci数列 | 单词搜索 | 杨辉三角
  • privateGPT和RAGflow之间的区别
  • 深入浅出HTML:构建现代网页的基石
  • 如何在24G显存机器上搭建一个超过gpt效果的DeepSeek-R1?
  • Eclipse通过Tomcat启动web项目报错
  • 20. C++使用HashTable同时出封装unordered_map和unordered_set
  • Ubuntu 配置网络接口端点(静态 IP 地址)详细教程
  • 亿级流量系统架构设计与实战(五)
  • mysql集成Qwen大模型MCP计算【附实战代码】
  • 【iOS】源码阅读(三)——内存对齐原理
  • AGV导航控制器技术方案——基于EFISH-SBC-RK3576/SAIL-RK3576的国产化革新‌(新一代工业级自主可控解决方案)‌
  • 战术级微波干扰系统:成都鼎轻量化装备如何实现全频段智能压制?
  • 从字节到链接:用类型化数组生成神奇的对象 URL
  • 如何进行室内VR全景拍摄?
  • Android 有线网开发调试总结
  • 【计算机视觉】OpenCV实战项目:Long-Exposure:基于深度学习的长时间曝光合成技术
  • C26-冒泡排序法
  • Flutter——数据库Drift开发详细教程(五)
  • 二叉平衡树
  • 学习笔记:黑马程序员JavaWeb开发教程(2025.3.29)
  • Linux 驱动开发步骤及 SPI 设备驱动移植示例
  • 基于SpringBoot和PostGIS的应急运输事件影响分析-以1.31侧翻事故为例
  • Docker 容器镜像环境的依赖导出
  • Android 10.0 SharedPreferences in credential encrypted storage are not avai
  • 声波解码器:当40kHz遇见AIoT时代——超声波传感器的“隐形智慧”革命
  • 从明文裸奔到密钥长城:HTTPS加密全链路攻防与CA信任锚点构建
  • 【疑难杂症2025-003】Java-mvn项目在gitlab-ci构建镜像时遇到的问题和解决方案
  • 内网渗透技术全面指南——安全业务视角(基于《内网渗透技术 (吴丽进、苗春雨 主编;郑州、雷珊珊、王伦 副主编)》)
  • stm32常见错误
  • 矩阵扩展-算卷积算法介绍及C语言代码实现