POJ1679 The Unique MST —— 次小生成树

STM32F407单一定时器输出4路不同频率及占空比的PWM波 阅读详情

题目链接:http://poj.org/problem?id=1679


The Unique MST
Time Limit: 1000MS Memory Limit: 10000K
Total Submissions: 31378 Accepted: 11306

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 a subgraph of G, say T = (V', E'), with the following properties: 
1. V' = V. 
2. T is connected and acyclic. 

Definition 2 (Minimum Spanning Tree): Consider an edge-weighted, connected, undirected graph G = (V, E). The minimum spanning tree T = (V, E') of G is the spanning tree that has the smallest total cost. The total cost of T means the sum of the weights on all the edges in E'. 

Input

The first line contains a single integer t (1 <= t <= 20), the number of test cases. Each case represents a graph. It begins with a line containing two integers n and m (1 <= n <= 100), the number of nodes and edges. Each of the following m lines contains a triple (xi, yi, wi), indicating that xi and yi are connected by an edge with weight = wi. For any two nodes, there is at most one edge connecting them.

Output

For each input, if the MST is unique, print the total cost of it, or otherwise print the string 'Not Unique!'.

Sample Input

2
3 3
1 2 1
2 3 2
3 1 3
4 4
1 2 2
2 3 2
3 4 2
4 1 2

Sample Output

3
Not Unique!

Source





题解:

问:最小生成树是否唯一。

次小生成树模板题。



代码如下:

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
typedef long long LL;
const double EPS = 1e-6;
const int INF = 2e9;
const LL LNF = 9e18;
const int MOD = 1e9+7;
const int MAXN = 1e2+10;

int n, m;
int cost[MAXN][MAXN];

int lowc[MAXN], vis[MAXN], used[MAXN][MAXN], pre[MAXN], Max[MAXN][MAXN];
int Prim()
{
    int ret = 0;
    memset(vis,0,sizeof(vis));
    memset(used,0,sizeof(used));
    memset(Max,0,sizeof(Max));

    lowc[1] = 0;
    pre[1] = -1;
    vis[1] = 1;
    for(int i = 2; i<=n; i++)
    {
        lowc[i] = cost[1][i];
        pre[i] = 1;
    }

    for(int i = 2; i<=n; i++)
    {
        int k, minn = INF;
        for(int j = 1; j<=n; j++)
            if(!vis[j] && minn>lowc[j])
                minn = lowc[k=j];

        if(minn==INF) return -1;
        vis[k] = 1;
        ret += minn;
        used[k][pre[k]] = used[pre[k]][k] = 1;
        for(int j = 1; j<=n; j++)
        {
            if(vis[j]) Max[j][k] = Max[k][j] = max(Max[j][pre[k]], lowc[k]);
            if(!vis[j] && lowc[j]>cost[k][j])
            {
                lowc[j] = cost[k][j];
                pre[j] = k;
            }
        }
    }
    return (ret==INF)?-1:ret;
}

int t1, t2;
int SMST()
{
    int ret = INF;
    for(int i = 1; i<=n; i++)
    for(int j = i+1; j<=n; j++)
    {
        if(cost[i][j]!=INF && !used[i][j])
            ret = min(ret, t1+cost[i][j]-Max[i][j]);
    }
    return ret;
}

int main()
{
    int T;
    cin>>T;
    while(T--)
    {

        scanf("%d%d",&n,&m);
        for(int i = 1; i<=n; i++)
        for(int j = 1; j<=n; j++)
            cost[i][j] = (i==j)?0:INF;

        for(int i = 1; i<=m; i++)
        {
            int u, v, w;
            cin>>u>>v>>w;
            cost[u][v] = cost[v][u] = w;
        }

        t1 = Prim();
        t2 = SMST();
        if(t1!=-1 && t2!=-1 && t1!=t2)
            printf("%d\n", t1);
        else
            printf("Not Unique!\n");
    }
}


Swin Transformer 与 CNN 结合实现图像分类 Swin Transformer 与 CNN 结合实现图像分类。(含swin transformer 结构讲解,cnn网络搭建,代码) 阅读详情

相关推荐

Gemini 3.1 Flash本地部署实操:Ollama+Open WebUI零门槛运行指南

大型语言模型(LLM)本地运行是指将模型权重下载至本地设备,通过推理引擎完成离线推理的过程;其核心原理依赖量化压缩(如GGUF格式)与轻量级运行时(如Ollama)实现CPU/GPU高效加载;技术价值在于低延迟响应、数据隐私可控及免网络依赖;典型应用场景包括办公提效(邮件/周报生成)、学生学习辅助、产品原型验证等边缘AI任务;本文聚焦Gemini 3.1 Flash这一面向消费级硬件优化的轻量模型变体,结合Ollama模型管理与Open WebUI图形界面,提供从环境准备、模型拉取到流式对话的完整新手实操路

weixin_32238157的博客 494

POJ1679:The Unique MST

The Unique MST Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 11943   Accepted: 4112 Description Given a connected undirected graph, tell if i

第七殿堂 539

2022李宏毅作业hw1—新冠阳性人员数量预测。

从非常基础的内容开始,主要是我的水平也很基础。

YI_SHU_JIA的博客 1万+

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...

weixin_34379433的博客 232

【昇腾】用MindIE(服务化方式)拉起glm4-9b-chat模型问题解决

【昇腾】用MindIE拉起glm4-9b-chat模型问题解决: LLMInferEngine failed to init LLMInferModels ERR: Failed to init endpoint! Please check the service log or console output. Killed make sure the folder's owner has execute permission.

u014448841的博客 5117

onnx入门教程(一):解决模型部署中的难题

直接使用 PyTorch 模型的话,我们修改几行代码就能实现模型输入的动态化。但在模型部署中,我们要花数倍的时间来设法解决这一问题。现在,让我们顺着解决问题的思路,体验一下模型部署的困难,并学习使用自定义算子的方式,解决超分辨率模型的动态化问题。刚刚的报错是因为 PyTorch 模型在导出到 ONNX 模型时,模型的输入参数的类型必须全部是 torch.Tensor。而实际上我们传入的第二个参数" 3 "是一个整形变量。这不符合 PyTorch 转 ONNX 的规定。我们必须要修改一下原来的模型的输入。

图像学习之旅 1128

The Unique MST(最小生成树的唯一路径)

最小生成树唯一的路径就是当前权值里,仅有一条路可以走,不存在最小权值一样的情况,如:1 2 2, 2 3 2, 1 3 2,第一次路径为1—2权值为2,但当下一次到3这个点时就存在分歧,因为1—3的权值是2,2—3的权值也是2,有两个选择。 例题: https://vjudge.net/contest/319242#problem/K Given a connected...

qq_44859533的博客 1227

金蝶K3系统物料主数据后台表对应字段一览

我们说到物料表,一般是指t_icitem,但正确的说t_icitem并不是一张有,而是一张视图,不过我们对于数据库物料表中的大部分操作,都是通过此视图来完成。比如经常通过此视图,来成批修改数量,单价精度,是否启用批次等一些字段,有的时候,对于账套已经启用,并且已经有业务发生的物料,有一些关键属性也需要通过修改物料表t_icitem来进行。 当然修改的时候,需要考虑一些前提条件的。 比如说我有一个客户新建的账套,在月底结账时发现,要改一种成本核算方法,启用时用的是加权平法,现在想改成移动平均法,这样的情况,

hzfw2008的博客 1万+

The Unique MST 判断生成树是否唯一

                          The Unique MST 题目抽象:给你一个连通无向网,判断生成树是否唯一。 分析 :判定最小生成树是否唯一的一个正确思路为: 1) 对图中每条边,扫描其他边,如果存在相同权值的边,则对该边作标记;2) 然后用 Kruskal 算法(或 Prim 算法)求 MST;3) 求得 MST 后,如果该 MST 中未包含作了标记的边,即可判定 ...

weixin_30736301的博客 268

YOLOv8 | 代码逐行解析(二) | 从yaml文件到模型定义(代码逐行注释,小白必看)

本文给大家带来的是YOLOv8项目的解读,之前给大家分析了YOLOv8的项目文件分析,这一篇文章给大家带来的是模型训练从我们的yaml文件定义到模型的定义部分的讲解,我们一般只知道如何去训练模型,和配置yaml文件,但是对于yaml文件是如何输入到模型里,模型如何将yaml文件解析出来的确是不知道的,本文的内容接上一篇的代码逐行解析(一) 项目目录分析,本文对于小白来说非常友好,非常推荐大家进行阅读,深度的了解模型的工作原理已经流程,下面我们从yaml文件来讲解。

Snu77的博客 1万+

SAP 合并报表(EC-CS)完整方法论 + 全业务操作步骤

SAP合并报表(EC-CS)方法论与操作指南摘要 SAP EC-CS模块提供完整的集团合并解决方案,其核心方法论基于会计准则和集团管控逻辑,通过6大维度构建标准化合并体系:组织架构标准化、数据采集标准化、外币换算规则化、内部交易自动化抵消、股权与商誉规范化、报表出具灵活化。 实施过程分为两个阶段: 上线前配置阶段(12个步骤):包括合并架构搭建、科目表配置、外币规则设定、抵消规则定义等基础工作 日常操作阶段(10个步骤):涵盖数据报送、外币换算、内部对账、自动抵消、调整分录等月结流程 系统优势包括: 支持多

金牌架构师 1366

The Unique MST(最小生成树prime)

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_44313771的博客 369

看完就会!手把手教您如何正确开启飞牛Nas 虚拟机的 IOMMU 硬件直通,让虚拟机的性能飙升!

看完就会!手把手教您如何正确开启飞牛Nas 虚拟机的 IOMMU 硬件直通,让虚拟机的性能飙升!

XiaoqiangClub的博客 1万+

POJ 1679 The Unique MST 次小生成树

题意:   判断最小生成树是不是唯一,我的判断方法是求次小生成树,如果相等那么说明不唯一。 代码: 1 /* 2 POJ 1679:判断最小生成树是否唯一 3 思路:先求出最小生生成树 MST,再求出次小生成树SST,判断是否相等。 4 求SST:先求最小生成树,标记构成最小生成树的每一条边,然后依次删除,再次求最小生成树,取这里面...

dimaishu7553的博客 165

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

POJ1679 The Unique MST次小生成树

MST,次小生成树

unknown 413

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

poj 1679 The Unique MST 【次小生成树】

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

shengweisong 842

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

POJ 1679 The Unique MST 次小生成树Prim

http://poj.org/problem?id=1679 题意:给定一个图, 求最小生成树,若最小生成树唯一则输出最小生成树的代价,否则输出“Not Unique!” 。 思路:先求出最小生成树,然后求次小生成树,判断次小生成树和最小生成树的代价是否相等。 以下说下用Prim求次小生成树的想法: 算法1、step 1.  先用prim求出最小生成树T.

Chris_Home 745

Poj 1679 The Unique MST【次小生成树】

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

希望的专栏 566

poj1679 The Unique MST 次小生成树

poj1679 The Unique MST 次小生成树 http://poj.org/problem?id=1679 题意:求最小生成树是否唯一 题解:求出次小生成树,如果两者相等,则不唯一(存模板)。

ACZone 284

POJ 1679 The unique MST [次小生成树]

The Unique MST Time Limit: 1000MS Memory Limit: 10000KB 64bit IO Format: %lld & %lluDescription Given a connected undirected graph, tell if its minimum spanning tree is unique. Definition

C'est la vie. 400

POJ - 1679 The Unique MST 次小生成树

题目链接 POJ-1679 题意 问最小生成树是否唯一 思路 求取次小生成树,看是否和最小生成树权值一样即可 总的来说是道模板题,在写之前没学次小生成树,想的是一种朴素做法 枚举每一条最小生成树的边,去掉后重新求最小生成树,比较权值即可。但 是缺点很明显,复杂度大,每次删除还要判断图是否联通。 之后学习了一下次小生成树的算法,大概思想就是枚举不在最小生成树的边,加入最小生成树后一定会形成环路,删除掉环路中最大的边,比较答案即可。 代码 #include<cstdio> #include<i

TheSunspot的博客 219

POJ 1679 The Unique MST 【次小生成树】

题目链接:http://bailian.openjudge.cn/practice/1679?lang=en_US 题意: 给出点与点之间的权值,问是否能构成唯一的最小生成树,能则输出最小值,否则输出  Not Unique! 思路: 次小生成树数就是第二小的生成树,仅比最小生成树大;求出次小生成树,判断是否和最小生成树相等,是则不唯一; 这里求次小生成树的方法有两个,一个是基本算法:依...

Y390d的博客 201

【题解】The Unique MST POJ - 1679 ⭐⭐⭐⭐ 【次小生成树】

The Unique MST POJ - 1679 从前有两只猫。它们实在不知道该出什么题了。 于是它们放弃了治疗,开始玩一个游戏:从乡镇地图中已有的道路里面删除一些道路,并且删除完毕后图仍然是连通的。在所有方案中,删除道路总长度最大的方案为最优方案。 两只猫同时完成了这个游戏。它们都坚信自己是赢家。已知它们的完成方式不同,请判断有没有可能它们的实现方案都是最优的。 Input 第一行是一个整数 ...

Suprit's blog 1063

POJ1679 The Unique MST(次小生成树)

The Unique MST Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 25894   Accepted: 9256 Description Given a connected undirected graph, t

KeyboardPianist的博客 557

POJ1679 The Unique MST 次小生成树

次小生成树 次小生成树可由最小生成树换一条边得到。 其生成过程: #include #include #include using namespace std; const int N=1005; const int INF=1<<30; bool vis[N],used[N][N]; int dist[N],pre[N]; int map[N][N],medge[N]

AC_Gibson的专栏 531

POJ 1679 The Unique MST 次小生成树

http://poj.org/problem?id=1679 问图的最小生成树是否唯一。 如果次小生成树结果=最小生成树,那么最小生成树就不唯一。 暴力删属于最小生成树的边,在跑kruskal即可。#include <cstdio> #include <cstring> #include <algorithm> using namespace std; struct Edge { int u,

とある黄鱼のOIブログ 592
上一篇: HDU3613 Best Reward —— 扩展KMP
下一篇: POJ1094 Sorting It All Out —— 拓扑排序
DOLFAMINGO
博客等级 码龄10年 8粉丝 216原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值