hiho刷题日记——第二十六天最小生成树一·Prim算法

【故障处理】- ORA-01722 在执行升级脚本@?/rdbms/admin/catupgrd.sql时报错ora-01722。 阅读详情

题目

用Prim算法做最小生成树

思路

从1开始。将1加入已连接的点。
找到(可以连接到已连接的点)的权值最小的边。
将其的另一端点加入已连接的点。重复到结束。

我这里用了一个d[i]来存储到 i 最小的权值。

代码

#include<cstdio>
#include<cstring>
using namespace std;

const int MAXN=1000+1;
int N,g[MAXN][MAXN],vis[MAXN],d[MAXN],k;

int prim()
{
    int ans=0;
    memset(vis,0,sizeof(vis));
    d[0]=100000;
    for(int i=1;i<=N;i++) d[i]=g[1][i];
    vis[1]=1;
    for(int i=1;i<N;i++)
    {
        k=0;
        for(int j=2;j<=N;j++) if(!vis[j] && d[j]<d[k]) k=j;
        vis[k]=1; ans+=d[k];
        for(int j=2;j<=N;j++) if(!vis[j] && g[k][j]<d[j]) d[j]=g[k][j];
    }

    return ans;
}

int main()
{
    scanf("%d",&N);
    for(int i=1;i<=N;i++)
    for(int j=1;j<=N;j++)
    scanf("%d",&g[i][j]);
    printf("%d",prim());

    return 0;
}
使用GitLab限制开发者使用CI/CD的权限,三种方案 使用三种方案来限制开发人员的CI/CD权限。 阅读详情

相关推荐

MicroLogix1400编程(使用RSLogix 500 + RSLinx Classic Lite)

MicroLogix1400编程

noscallion的博客 1万+

kuangbin 最小生成树刷题

A

GrittyB的博客 217

VCS 2018 环境下,手把手教你用 UVMC 搞定 SystemC 和 SystemVerilog 混合仿真(附完整代码)

本文详细介绍了在VCS 2018环境下使用UVMC实现SystemC和SystemVerilog混合仿真的完整指南。从环境配置、工具链设置到UVMC通信机制解析,提供了实战案例和高级调试技巧,帮助开发者高效搭建复杂验证环境。特别适合需要处理跨语言仿真的芯片验证工程师。

weixin_30952535的博客 285

最小生成树(Prime算法)

最小生成树一·Prim算法 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 最近,小Hi很喜欢玩的一款游戏模拟城市开放出了新Mod,在这个Mod中,玩家可以拥有不止一个城市了! 但是,问题也接踵而来——小Hi现在手上拥有N座城市,且已知这N座城市中任意两座城市之间建造道路所需要的费用,小Hi希望知道,最少花费多少就可以使得任意两...

weixin_30593261的博客 221

hpm6750evk2开发板(四)TCP回送(1000M网口)

再接下来我们修改代码,先找到配置网速的地方,肯定是在enet的初始化函数里面,我们一个函数一个函数找,也可以用单步调试一步一步找,结果发现是在enet_init函数里面调用的rtl8211_basic_mode_default_config函数配置网速的,我们把enet_phy_port_speed_100mbps改为enet_phy_port_speed_1000mbps,重新编译运行试试。首先我们复制一份lwip_tcpecho代码,重命名为lwip_tcpecho_RGMII,如下图所示。

Silas1750的博客 920

单端反激电源的RCD钳位电路吸收设计

反激电源尖峰电压和特点: 反激开关电源主要适用于中小功率<100W的电源设计中,特点是电路简单、成本低、可靠性高、宽稳压范围、转换效率PF高。但是由于本身变压器的漏感和其他参数的影响,变压器在高速开关关断瞬间会产生很大的尖峰电压,截止时产生的尖峰电压是由电路中的储能元件释放的电流引起的突变,过高的尖峰电压会影响开关管的正常工作,需要对尖峰电压采取措施抑制尖峰电压。 如上图所示,尖峰电压的钳位抑制方式有很多种。 TVS成本偏高,属于硬件导通,元件的可靠性较差,在低电压工作效果不理想。 RCD回路吸收

qq_31687191的博客 8488

UVA10462-Is There A Second Way Left?

题意:有n个点,m条边,求最小生成树 #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long const int IN

wang_128的博客 435

win11本地部署openclaw实操第1集

OpenClaw 是一款开源、本地优先、可自托管的 AI 智能体(AI Agent)网关 / 自动化框架,核心是让 AI 从 “只聊天、给建议” 变成 “能在你电脑上真做事” 的数字助手。

weixin_44626085的博客 7126

次小生成树的Kruskal实现

通常次小生成树是使用Prim算法进行实现的,因为可以在Prim算法松弛的同时求得最小生成树上任意两点之间的最长边。但是利用Kruskal算法却没办法在松弛的同时求得。     所以我们就要在Kruskal求完最短路后,对于每个顶点bfs一次,得到树上任意两点的最长边。之后求可以像之前一样枚举不在树上的边,代替找最小值了。     两种方法的时间杂度是一样的,但Kruskal的实现代码回长非常多

yasolx的博客 1396

FanucROBOGUIDE软件二次开发:使用ROBOGUIDEAPI进行编程

菜单栏:位于界面顶部,提供文件、编辑、视图、插入、格式、工具、窗口和帮助等选项。工具栏:包含常用的工具按钮,如新建、打开、保存、运行、停止、机器人控制等。工作站视图:显示工作站的3D模型,用户可以在这里放置机器人、工件、工具和其他设备。机器人控制面板:用于控制机器人运动,包括手动移动、程序编辑和运行。程序编辑器:在这里可以编写和编辑机器人程序,支持Fanuc的R-30iB Plus和R-30iB控制柜的程序格式。状态栏:显示当前工作站的状态信息,如机器人位置、程序状态等。

kkchenjj的博客 1408

uva10462-(带重边次小生成树)

题解:次小生成树,不过这次带重边,那么可以用邻接表存数据,然后判断一下是不是prim算法里面的那条接上去边即可 #include #include #include #include #include using namespace std; const int inf = 0x3f3f3f3f; const int mx = 1e3+5; typedef pair P; #define

Soul 588

请尽可能地详细说明一个VLA项目的立项训练到落地的全流程

一个机器人VLA项目的全流程是一个复杂的系统工程,它深度融合了机器人学 (Robotics)计算机视觉 (CV)和自然语言处理 (NLP)。其核心挑战在于高质量数据的获取和从仿真到现实的有效迁移。与纯粹的软件AI项目相比,它增加了硬件、物理交互和安全性的维度,但其最终能让AI走出虚拟世界、在物理世界中产生实际价值,这也是其巨大的魅力所在。

具身机器人和通用AI 303

hiho刷题日记——第二十九天最小生成树三·堆优化的Prim算法

题目最小生成树。思路使用小根堆对prim算法进行优化。 参考第二十六天和第二十八天。代码#include<cstdio> #include<cstring> using namespace std;const int MAXN=100000+1; const int MAXM=1000000+1; int N,M,vis[MAXN]; int head[MAXN],e=0; int w[MAXM]

AngcFun的博客 510

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

hiho刷题日记——第二十七天最小生成树二·Kruscal算法

题目用prim做最小生成树思路先随便从一个点开始。建立当前节点到各个节点的最短距离。到不了的设为最大值。 然后找到一个未访问的切到达距离最小的节点。将当前节点到该节点的路涵盖进来。将该节点设置为以访问。并重新计算各个节点到已经访问过的节点的最短距离。 重复N-1次。便可以求出最小生成树代码#include<cstdio> #include<cstring> using namespace std

AngcFun的博客 619

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

kuangbin专题八 UVA10462 Is There A Second Way Left?(不错的好题,次小生成树)

题意: 给你N个点,M条边,其中有重边,A,B,C表示A到B的价格为C,连接所有的点,求出最小的价格,如果无法连接所有的点的话就输出No way。如果没有次小生成树的话就输出No second way。如果有的话就输出次小生成树的值。 题解: 次小生成树,做完这道题之后我发现我以前做的都是没有重边的次小生成树,所以一开始我就用prim做这道题,发现难的要死,后来才知道次小生成树

Start_to_crazy的博客 448

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

HDU 1863 畅通工程 最小生成树问题 (Kruskal&Prim)

题目链接&lt;http://acm.hdu.edu.cn/showproblem.php?pid=1863&gt; Kruskal: #include &lt;bits/stdc++.h&gt; using namespace std; typedef long long LL; const int N=1e2+7; struct Edge{ int u,v,w; bool...

Eliot的博客 252

旧代码 - 最小生成树 - Prim

/* PROG: MST_PRIM ID : ouyangyewei LANG: C++ */ #include #include #include #define DEBUG 1 const int MAXN = 1004; const int MAXM = 15004; const int INF = 0x3F3F3F3F; int N, M; int lowco

个人技术博客 887

(刷题日志)最小生成树

生成树三连: 一: P1546 最短网络 Agri-Net 题目背景 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场。当然,他需要你的帮助。 题目描述 约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场。为了用最小的消费,他想铺设最短的光纤去连接所有的农场。 你将得到一份各农场之间连接费用的列

qq_30802053的博客 341

【kruskal 求次小生成树存在】Is There A Second Way Left? (UVA 10462)

UVA 10462 题意:求连通图的最小和次小长度,三种情况:1.不存在最小 2.不存在次小 3.最小和次小不同。 题解:无法使用prim求次小生成树,因为可能有两个点有两个及以上权值,那么我们用prim会把大的权值覆盖掉,所以我们用kruskal求,怎么求呢?我们求出最小生成树后,把用过的边绕过,求最小生成树,如果存在则存在。我开始题意理解有误,我以为次小和最小相同是第2种情况。

学无纸巾 674

#1097 : 最小生成树一·Prim算法

#1097 : 最小生成树一·Prim算法 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 最近,小Hi很喜欢玩的一款游戏模拟城市开放出了新Mod,在这个Mod中,玩家可以拥有不止一个城市了! 但是,问题也接踵而来——小Hi现在手上拥有N座城市,且已知这N座城市中任意两座城市之间建造道路所需要的费用,小Hi希望知道,最少花费多少就可以使得任意两座城市都可以通过所建造的...

tb_youth的博客 262

最小生成树prim算法

Input 输入的第一行包含一个正整数n,表示图中共有n个顶点。其中n不超过50。 以后的n行中每行有n个用空格隔开的整数,对于第i行的第j个整数,如果不为0,则表示第i个顶点和第j个顶点有直接连接且代价为相应的值,0表示没有直接连接。当i和j相等的时候,保证对应的整数为0。 输入保证邻接矩阵为对称矩阵,即输入的图一定是无向图,且保证图中只有一个连通分量。 Output 只有一个整数,即最小...

1900的博客 743

基础练习-5

基础练习 特殊回文数 时间限制:1.0s 内存限制:512.0MB 问题描述   123321是一个非常特殊的数,它从左边读和从右边读是一样的。  输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。 输入格式   输入一行,包含一个正整数n。 输出格式   按从小到大的顺序输出满足条件的整数,每个整数占一行。 ...

Ideal1998的博客 1076

UVA 10462 Is There A Second Way Left?(Kruskal算法/Prim算法)

【题意】 给一个含有n个点,cnt条边的图(1 【思路】 直接Kruskal算法求一下最小生成树,然后枚举这棵生成树中的边剔除来生成次小生成树。 【代码】 #include #include #include using namespace std; const int MAXN=105,INF=0x3f3f3f3f; struct edge{ int fro

记录一些思考的过程。 407

hihoCoder#1097 最小生成树一·Prim算法

原题地址 Prime算法,每次挑选一个距离原点最近的节点,然后收缩(visited为true,设置该点到原点的距离为0) 注意:虽然Prime算法跟Dijkstra很像,但两者还是不一样的。 因为Dijkstra算法每次在挑选节点后不会收缩,所以,用Dijkstra挑选的边并不一定是最小生成树。 比如下面这张图,有a、b、c三个节点 2 a----b ...

dicui3114的博客 154

01字串

问题描述 对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是: 00000 00001 00010 00011 00100 请按从小到大的顺序输出这32种01串。 输入格式 本试题没有输入。 输出格式 输出32行,按从小到大的顺序每行一个长度为5的01串。 样例输出 00000

fool宋的专栏 3186
上一篇: hiho刷题日记——第二十五天最短路径·三:SPFA算法
下一篇: hiho刷题日记——第二十七天最小生成树二·Kruscal算法
昂村饭
博客等级 码龄12年 5粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值