问题:POJ2485
本题求解生成树最大边的最小值
分析:
首先证明生成树最大边的最小值即最小生成树的最大边。
假设:生成树最大边的最小值比最小生成树的最大边更小。
不妨设C为G的一个最小生成树,e是其中的最大边。把e从C中去除,则C被分成C1,C2两个连通子集。假设存在最大边小于e的生成树CC,则CC中连接C1,C2两个点集的桥ee必定小于e。把C中的e换成ee,则 C1,C2,ee必定也生成一个生成树。该生成树长度小于C,与C是最小生成树的事实矛盾,故假设不成立。
因此必有:
生成树最大边的最小值 = 最小生成树的最大边。
故本题转化为求解已知图的最小生成树,用PRIM法即可。
AC代码:
//Memory: 532K Time: 172MS #include <iostream> #include <cstring> #include <string> #include <algorithm> ; int g[maxn][maxn]; bool vis[maxn]; int d[maxn]; int n, t; int _min, _max; void prim() { memset(vis, , sizeof(vis)); vis[] = ; ; _max = ; ; i < n; i++){ d[i] = g[][i]; } while (size < n) { _min = ; int k; ; i < n; i++) { if ( !vis[i] && d[i] < _min) { _min = d[i]; k = i; } } vis[k] = ; if (_min > _max) _max = _min; ; i < n; i++) { if ( !vis[i] && g[i][k] < d[i]) d[i] = g[k][i]; } size++; } } int main() { scanf("%d", &t); while (t--){ scanf("%d", &n); ; i < n; i++) ; j < n; j++) scanf("%d", &g[i][j]); prim(); printf("%d\n", _max); } ; }
POJ2485 最小生成树的更多相关文章
-
最小生成树Prim poj1258 poj2485 poj1789
poj:1258 Agri-Net Time Limit: 1000 MS Memory Limit: 10000 KB 64-bit integer IO format: %I64d , %I64u ...
-
POJ2485 Highways(最小生成树)
题目链接. 分析: 比POJ2253要简单些. AC代码: #include <iostream> #include <cstdio> #include <cstring ...
-
Kruskal算法求最小生成树(POJ2485)
题目链接:http://poj.org/problem?id=2485 #include <iostream> #include <stdio.h> #include < ...
-
poj2485&;&;poj2395 kruskal
题意:最小生成树的最大边最小,sort从小到大即可 poj2485 #include<stdio.h> #include<string.h> #include<algor ...
-
POJ-2485 Highways---最小生成树中最大边
题目链接: https://vjudge.net/problem/POJ-2485 题目大意: 求最小生成树中的最大边 思路: 是稠密图,用prim更好,但是规模不大,kruskal也可以过 #inc ...
-
最小生成树(Kruskal算法-边集数组)
以此图为例: package com.datastruct; import java.util.Scanner; public class TestKruskal { private static c ...
-
最小生成树计数 bzoj 1016
最小生成树计数 (1s 128M) award [问题描述] 现在给出了一个简单无向加权图.你不满足于求出这个图的最小生成树,而希望知道这个图中有多少个不同的最小生成树.(如果两颗最小生成树中至少有一 ...
-
poj 1251 Jungle Roads (最小生成树)
poj 1251 Jungle Roads (最小生成树) Link: http://poj.org/problem?id=1251 Jungle Roads Time Limit: 1000 ...
-
【BZOJ 1016】【JSOI 2008】最小生成树计数
http://www.lydsy.com/JudgeOnline/problem.php?id=1016 统计每一个边权在最小生成树中使用的次数,这个次数在任何一个最小生成树中都是固定的(归纳证明). ...
随机推荐
-
Java写操作
//:ThinkingInJava/net.mindview.io/write2File.java package net.mindview.io; import java.io.BufferedRe ...
-
2016年12月7日 星期三 --出埃及记 Exodus 21:2
2016年12月7日 星期三 --出埃及记 Exodus 21:2 "If you buy a Hebrew servant, he is to serve you for six year ...
-
linux下的mysql乱码问题
1,承接上一随笔,因为我用的是rmp的两种反式. rpm -ivh MySQL-server-4.0.14-0.i386.rpm rpm -ivh MySQL-client-4.0.14-0.i386 ...
-
自定义jquery插件
参考:http://blog.csdn.net/bao19901210/article/details/21540137/ 自己看代码理解: <!DOCTYPE html> <htm ...
-
关于取数组地址的识记(&;s+1,s+1,&;s[0]+1)
#include <stdio.h> #include <malloc.h> int main() { ', 'o'}; ); printf(]); ]+); printf(] ...
-
python的web开发环境Django配置
我的系统的windows10: 第一步,安装python3.5 第二步,配置django,如图所示,在python的安装目录下的Scripts里面执行:pip install Django,我这儿提示 ...
-
PGM:基于模板的表示
http://blog.csdn.net/pipisorry/article/details/52537660 引言 概率图模型(无论贝叶斯网或马尔可夫网)在一个固定的随机变量集X上具体指定了一个联合 ...
-
BZOJ_2599_[IOI2011]Race_点分治
BZOJ_2599_[IOI2011]Race_点分治 Description 给一棵树,每条边有权.求一条简单路径,权值和等于K,且边的数量最小.N <= 200000, K <= 10 ...
-
xml合并工具【原】
我的xml文章 xml转换: xml/map转换器 xml合并: xml合并 dupliate()方法思路图: 左报文为: <PACKET> <HEAD> <REQUES ...
-
android -------- ConstraintLayout介绍 (一)
ConstraintLayout 翻译为 约束布局,也有人把它称作 增强型的相对布局,由 2016 年 Google I/O 推出. 扁平式的布局方式,无任何嵌套,减少布局的层级,优化渲染性能.从支持 ...