http://acm.nyist.net/JudgeOnline/problem.php?pid=118次小生成树

2024-01-10 08:08

本文主要是介绍http://acm.nyist.net/JudgeOnline/problem.php?pid=118次小生成树,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

昨天做的次小生成树的用的是标记法,,,今天用的的是,,,,添边,删边法,,

代码:

#include<iostream>
#include<cstdio>
#include<algorithm>
#define N 501
#define M 9999999
#define MM -999999
using namespace std;
int map[N][N],maxs[N][N],dist[N];
bool visit[N];
int n,m;
bool prim()
{    int  pre[N]={0};int now=1;dist[now]=0;visit[now]=false;for(int i=2;i<=n;++i){ visit[i]=true;dist[i]=map[now][i];pre[i]=now;}for(int i=1;i<n;++i){    int minx=M;for(int j=1;j<=n;++j)if(visit[j]&&dist[j]<minx)minx=dist[now=j];visit[now]=false;int pr=pre[now];maxs[pr][now]=maxs[now][pr]=map[pr][now];for(int j=1;j<=n;++j) 记录到生成树中的各个顶点最大边权,,,if(!visit[j])maxs[j][now]=max(maxs[j][pr],maxs[now][pr]);for(int j=1;j<=n;++j)if(visit[j]&&dist[j]>map[now][j])dist[j]=map[now][j],pre[j]=now;}for(int j=1;j<=n;++j)for(int i=1;i<=n;++i){if(pre[i]==j||pre[j]==i) continue;else if(maxs[j][i]==map[i][j]) return true;判断加入的边,和删除的边的大小关系,,,}return false;
}
int main()
{ int Case;cin>>Case;while(Case--){    cin>>n>>m;for(int j=1;j<=n;++j)for(int i=1;i<=n;++i){map[i][j]=M;maxs[i][j]=MM;}for(int i=1;i<=m;++i){    int a,b,c;cin>>a>>b>>c;if(map[a][b]>c)map[a][b]=map[b][a]=c;}if(prim()) cout<<"Yes"<<endl;else  cout<<"No"<<endl;}   return 0;}


这篇关于http://acm.nyist.net/JudgeOnline/problem.php?pid=118次小生成树的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/590125

相关文章

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

Go语言中最便捷的http请求包resty的使用详解

《Go语言中最便捷的http请求包resty的使用详解》go语言虽然自身就有net/http包,但是说实话用起来没那么好用,resty包是go语言中一个非常受欢迎的http请求处理包,下面我们一起来学... 目录安装一、一个简单的get二、带查询参数三、设置请求头、body四、设置表单数据五、处理响应六、超

C/C++随机数生成的五种方法

《C/C++随机数生成的五种方法》C++作为一种古老的编程语言,其随机数生成的方法已经经历了多次的变革,早期的C++版本使用的是rand()函数和RAND_MAX常量,这种方法虽然简单,但并不总是提供... 目录C/C++ 随机数生成方法1. 使用 rand() 和 srand()2. 使用 <random

Flask 验证码自动生成的实现示例

《Flask验证码自动生成的实现示例》本文主要介绍了Flask验证码自动生成的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习... 目录生成图片以及结果处理验证码蓝图html页面展示想必验证码大家都有所了解,但是可以自己定义图片验证码

Python如何在Word中生成多种不同类型的图表

《Python如何在Word中生成多种不同类型的图表》Word文档中插入图表不仅能直观呈现数据,还能提升文档的可读性和专业性,本文将介绍如何使用Python在Word文档中创建和自定义各种图表,需要的... 目录在Word中创建柱形图在Word中创建条形图在Word中创建折线图在Word中创建饼图在Word

基于.NET编写工具类解决JSON乱码问题

《基于.NET编写工具类解决JSON乱码问题》在开发过程中,我们经常会遇到JSON数据处理的问题,尤其是在数据传输和解析过程中,很容易出现编码错误导致的乱码问题,下面我们就来编写一个.NET工具类来解... 目录问题背景核心原理工具类实现使用示例总结在开发过程中,我们经常会遇到jsON数据处理的问题,尤其是