poj 1679 The Unique MST 最小生成树

【TCN回归预测】TCN时间卷积神经网络数据回归预测(多输入单输出)【含Matlab源码 2317期】 TCN时间卷积神经网络数据回归预测 完整的代码,方可运行;可提供运行操作视频!适合小白! 阅读详情

点击打开链接 http://poj.org/problem?id=1679

题意:给一个无向图,问最小生成树是否唯一,如果唯一就输出最小生成树的所有边的权值的和,如果不唯一,那么就输出Not Unique!

思路:在用prime算法求最小生成树的过程中,在找到权值最小的一个节点之后,先判断一下,这个节点的权值是否可以由好几条路径求得,并且权值都等于当前权值,如果是的话,那么最小生成树就不唯一。那么如何判断呢?可以用一个flag数组标记,0代表这个点得到当前权值的路径唯一,1代表不唯一,初始化全为0。我们在用一个已找到的权值最小的节点i来更新其他点的权值的时候,如果发现某个点的现在的权值和i点到这个点的距离相等,那么就说明这个点最少可以由两条路径来得到当前的这个最小值,就把他标记为1,如果这个点的权值比i点到它的距离要小,那么就更行这个点的权值,并把flag标记为0,因为当前的这个最小值只能由i点得到,是唯一的,剩下的就是一个简单的最小生成树问题了。

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

const int maxn=110;
struct Side{
    int to,v,next;
}side[2*maxn*maxn];
int head[maxn],top;
int dis[maxn];
int n,m;
bool vis[maxn],flag[maxn];

void init(){
    memset(head,-1,sizeof(head));
    top=0;
    memset(vis,0,sizeof(vis));
    memset(dis,0x3f3f,sizeof(dis));
    memset(flag,0,sizeof(flag));
}

void addside(int a,int b,int c){
    side[top]=(Side){b,c,head[a]};
    head[a]=top++;
    side[top]=(Side){a,c,head[b]};
    head[b]=top++;
}

bool prime(){
    vis[1]=1;
    dis[1]=0;
    for(int i=head[1];i!=-1;i=side[i].next){
        dis[side[i].to]=side[i].v;
    }
    for(int i=0;i<n-1;i++){
        int j,minc=1e9;
        for(int k=1;k<=n;k++){
            if(!vis[k]&&dis[k]<minc){
                minc=dis[k];
                j=k;
            }
        }
        if(!flag[j])
            vis[j]=1;
        else return 0;
        for(int k=head[j];k!=-1;k=side[k].next){
            int to=side[k].to;
            int v=side[k].v;
            if(vis[to]) continue;
            if(dis[to]>v){
                flag[to]=0;
                dis[to]=v;
            }
            else if(dis[to]==v)
                flag[to]=1;
        }
    }
    return 1;
}

int main()
{
    int cas;
    cin>>cas;
    while(cas--){
        init();
        cin>>n>>m;
        int a,b,c;
        for(int i=0;i<m;i++){
            scanf("%d %d %d",&a,&b,&c);
            addside(a,b,c);
        }
        if(prime()){
            int ans=0;
            for(int i=1;i<=n;i++)
                ans+=dis[i];
            cout<<ans<<endl;
        }
        else cout<<"Not Unique!"<<endl;
    }
    return 0;
}


支持UE4.27、UE5.0、UE5.1、UE5.2、UE5.3、UE5.4、UE5.5的VS2022一键安装方法 本文提供了两种安装VS2022以支持UE5开发的方案。方案一通过百度网盘提供一键安装包,下载解压后以管理员身份运行批处理文件即可完成安装。方案二需从微软官网下载安装程序,通过创建包含特定参数的批处理文件来自定义安装组件。两种方案都需保持联网环境,建议先卸载旧版VS。安装完成后可测试打包UEC++项目Windows包。 阅读详情

相关推荐

PID不够用?试试用ADRC改造你的ArduCopter:从Simulink仿真到SITL测试全记录

本文详细介绍了如何将ADRC(自抗扰控制)算法集成到ArduPilot飞控中,以替代传统PID控制器。通过Simulink建模、参数整定和SITL仿真测试,展示了ADRC在抗扰动能力、响应速度和参数调节复杂度上的优势,特别适合无人机在强风扰动下的稳定控制。

weixin_32349093的博客 273

PKU1679判断最小生成树是否唯一Prime算法

原题http://poj.org/problem?id=1679

ZCR_7 1064

有关SPSS中Fisher精确检验无法进行的解决方法(由于无法打开临时文件,因此无法进行计算)

最近在帮一个四年生完成她的毕业论文,在用SPSS进行R×C表检验的时候,发现Fisher精确检验的结果无法显示,提示为“由于无法打开临时文件,因此无法进行计算”,大概像下图一样。 (这图是从网上找的) 然...

chuyang37的博客 3万+

Poj-1679 The Unique MST (Prime-邻接矩阵)

题目链接 题意:给出n点,m条边,要求输出最小生成树,且存在最小生成树的值相同的最小生成树时输出Not Unique! 题解:这里写的是Prime-邻接矩阵(以前使用的模板,后来都是手码了~) 代码如下: #include&lt;iostream&gt; #include&lt;cstring&gt; #include&lt;string&gt; #include&lt;cstdio&g...

Fushicho_XF的博客 287

JavaScript性能优化:全链路性能优化策略

JavaScript性能优化是提升Web应用质量的核心要素,直接影响用户体验与业务成果。研究表明,页面加载延迟1秒可能导致转化率下降7%。高效的JavaScript执行能减少主线程阻塞,避免动画卡顿或操作延迟,尤其在移动端低性能设备上更为关键。优化内存管理与减少冗余计算可降低浏览器资源消耗,防止因内存泄漏导致的崩溃,提升应用稳定性。在竞争激烈的互联网环境中,性能优势已成为产品差异化的关键因素,直接影响用户留存与商业价值。因此,性能优化应作为开发全周期的核心实践,而非事后补救措施。

weixin_49707375的博客 1270

AD20/Altium designer——如何进行DRC检查、冲突的错误如何改正

对于一个画完的PCB,我们常常需要进行DRC检查,确保板子的电器连接及制作工艺在设定规则的范围内,本篇将介绍如何对PCB进行后期DRC检查处理,确保电路板出现不必要错误。 1.DRC检查入口 2.DRC设置 3.错误分析 对于错误的内容,依据个人实际情况不同,其出现的原因都是因为与设计规则中的设定标准冲突,这里按遇到的错误进行修改讲解,其他错误同理。 4.常见错误分析及解决方法 (1) 解决方法:将未连接网络连接(...

嵌入式创客工坊的博客 5万+

poj 1679 The Unique MST (判断最小生成树是否唯一)

The Unique MST Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 20679   Accepted: 7255 Description Given a connected undirected graph, tell if its minimum s

Coding A World 1422

微机原理与接口技术第六版周荷琴课后习题答案及解析(期末重点)

第二章 1.8086/8088CPU可直接寻址多少个内存(字节)单元?多少个I/O端口?它们的外部数据总线各有多少根? 8086/8088CPU使用的是20位地址总线,因此可以直接寻址2的20次方个内存单元(即1,048,576),每个单元大小为1字节,因此可以直接寻址2的20次方个字节的内存。 8086/8088CPU有64K个I/O端口,每个端口占用1字节的地址空间,因此可以直接寻址6...

Wmicheng的博客 1万+

poj 1679 The Unique MST (判断最小生成树是否唯一)

题意:判断最小生成树是否唯一, 若唯一,输出最小权值和,否则,输出 Not Unique! 判断最小生成树是否唯一的思路: 1、对图中的每一条边,扫描其他边,如果存在相同权值的边,则对该边做标记 2、然后用Kruskal算法或Prim算法求MST 3、求得MST后,如果该MST中未包含做了标记的边,即可判断MST唯一; 如果包含做了标记的边,则依次去掉这些边的一条边,再求MST, 如果求得的MST权值和原来的MST的权值一样,即可判断MST不唯一。

happy_lcj 1413

算法-基于MACD的Adaboost股价涨跌预测模型

MACD是一个指标,具体用法是MACD>0看涨,反之看跌,果真是这样的吗?由于所有的技术指标都基于对历史数据的统计,指标的滞后性也就难免,有时候MACD明明大于0,股价仍然跌,有时候macd小于0,股价仍然涨。 本文基于Adaboost算法提出了一种基于macd的线性阀值分类器作为若分类器,通过在限定的解空间内寻找使得错误率最小的阀值和偏置,这样做避免了训练若分类器的复杂性,经验证,这种方法有效。

mtaxot的博客 8023

【AI技术赋能有限元分析应用实践】Abaqus有限元分析与深度学习结合20个案例与有限元分析数据来源方法说明

结合 Abaqus 和深度学习,数据的获取和处理是关键的一步。通过从仿真、实验、公开数据库或合成数据中获取数据,经过预处理后,可以将其用于训练深度学习模型。最终,将训练好的深度学习模型与 Abaqus 集成,用于材料行为预测、结构优化、非线性分析、损伤预测等任务,从而提升仿真效率和精度。

源代码杀手的博客 3213

POJ 1679 The Unique MST (最小生成树)

The Unique MST 题目链接: http://acm.hust.edu.cn/vjudge/contest/124434#problem/J Description Given a connected undirected graph, tell if its minimum spanning tree is unique. Definition 1 (Spanning T...

dituonian8372的博客 149

大厂面试:字节跳动大数据面试题及参考答案(10万字长文及多张原理图持续更新)

在 Spark 中,宽窄依赖是用来描述 RDD(弹性分布式数据集)之间的依赖关系的概念。窄依赖是指父 RDD 的每个分区最多被一个子 RDD 的分区使用,即子 RDD 的分区可以通过确定的规则从父 RDD 的分区计算得到,并且不需要跨节点进行数据传输。窄依赖通常可以在一个节点上进行计算,不需要进行数据的 shuffle 操作,因此性能较高。宽依赖是指父 RDD 的一个分区可能被多个子 RDD 的分区使用,即子 RDD 的分区需要通过跨节点的数据 shuffle 操作从父 RDD 的多个分区获取数据。

大模型大数据攻城狮的专栏 1650

POJ 1679 The Unique MST 【判断最小生成树是否唯一】

Description Given a connected undirected graph, tell if its minimum spanning tree is unique. Definition 1 (Spanning Tree): Consider a connected, undirected graph G = (V, E). A spanning tree of G is ...

NoobPlayer_llke的博客 364

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

POJ 1679-The Unique MST【最小生成树的唯一性】

题目描述 Given a connected undirected graph, tell if its minimum spanning tree is unique.  Definition 1 (Spanning Tree): Consider a connected, undirected graph G = (V, E). A spanning tree of G is a subgr...

include_peng的博客 479

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

POJ 1679-The Unique MST( 判断最小生成树的唯一性)

B - The Unique MST Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u Submit Status Practice POJ 1679 Appoint description:  System Crawler  (2015-11-12) Desc

梧桐下的四叶草 1631

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

POJ-1679 The Unique MST 次最小生成树

这两种算法的思路都是相同的,首先求出最小生成树,我们枚举每条不在最小生成树上的边,并把这条边放到最小生成树上面,然后就一定会形成环,那么我们在这条环路中取出一条最长的路(除了新加入的那一条边)。最终我们得到的权值就是次小生成树的权值。 #include<cstring> #include<cstdio> #include<string> #includ...

Insistor 298

POJ 1679 The Unique MST(判断最小生成树是否唯一)

题目链接:POJ 1679 The Unique MST POJ 1679 The Unique MST(判断最小生成树是否唯一) 思路:枚举删边,再求最小生成树,相等则不唯一判断最下生成树是否唯一的思路一: 1、对图中的每一条边,扫描其他边,如果存在相同权值的边,则对该边做标记。 2、然后用Kruskal算法或Prim算法求MST。 3、求得MST后,如果该MST中未包

Dextrad_ihacker的博客 1129

[poj1679]The Unique MST(最小生成树)

The Unique MST Time Limit:1000MS Memory Limit:10000K Total Submissions:28207 Accepted:10073 Description Given a connected undirected graph, tell if its minimum...

138

POJ 1679 The Unique 次最小生成树 MST

给你一些点,判断MST(最小生成树)是否唯一。

细语呢喃 1291

POJ1679:The Unique MST(最小生成树)

The Unique MST Time Limit:1000MS Memory Limit:10000K Total Submissions:38430 Accepted:14045 题目链接:http://poj.org/problem?id=1679 Description: Given a connected und...

dft539533的博客 139

poj 1679 The Unique MST(唯一的最小生成树)

http://poj.org/problem?id=1679 The Unique MST Time Limit:1000MS Memory Limit:10000K Total Submissions:17726 Accepted:6150 Description Given a connected undire...

diansitao5461的博客 143

The Unique MST POJ - 1679最小生成树的唯一性

Given a connected undirected graph, tell if its minimum spanning tree is unique. Definition 1 (Spanning Tree): Consider a connected, undirected graph G = (V, E). A spanning tree of G is a subgraph of ...

weixin_44488944的博客 252

The Unique MST POJ - 1679(最小生成树)

The Unique MST Given a connected undirected graph, tell if its minimum spanning tree is unique. Definition 1 (Spanning Tree): Consider a connected, undirected graph G = (V, E). A spanning tree of G is a subgraph of G, say T = (V’, E’), with the following p

一直努力 317

POJ:1679 The Unique MST(判断最小生成树是否唯一)

MST一道经典变形题目。问你MST是否唯一。 MST的权是唯一的,但MST不一定唯一。 MST不唯一的必要条件之一是无向网有相同权值的边。 即,MST不唯一,无向网一定有相同权值的边,但是无向网有相同权值的边,MST不一定唯一。 得到一个逆否命题,MST没有使用无向网中相同权值的边,那么MST一定唯一。 如果MST使用了无向图中相同权值的边,那么依次去掉这些边,如果某次去掉之后得到MST

Fighting 2617

poj 1679 The Unique MST (判断最小生成树是否为一)

The Unique MST Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 17406   Accepted: 6030 Description Given a connected undirected graph, tell if its minimum spa

To be what you what to be! 1069
上一篇: hdu 2473 Junk-Mail Filter 并查集删除
下一篇: poj 3294 后缀数组
ACMer_浩
博客等级 码龄12年 0粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值