E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
1679
poj
1679
The Unique MST 【次小生成树】【模板】
题目:poj
1679
The Unique MST 题意:给你一颗树,让你求最小生成树和次小生成树值是否相等。 分析:这个题目关键在于求解次小生成树。
·
2015-11-13 15:22
unique
soj
1679
Gangsters(dp)
@(KACMer)题意:有一个店铺,他的门的宽度在[0,k]可调剂,每个单位时间可以调节一位或者不变.有n个枪手会走来,每个枪手有直接的身体宽度,荣耀度和来的时间.只有当门的宽度恰好等于枪手的宽度的时候他们才会进来.问在[0,T]的时间内店铺可以进来的最大荣耀度是多少?(门的宽度由你调节)分析:这个其实类似一个背包,每来一个人我们要满足或者不满足他,这些人来的顺序就是他们到达的时间,先把他们按照到
jibancanyang
·
2015-11-13 14:00
dp
poj
1679
(The Unique MST)Kruskal
最近略忙,就不写题意思路什么的,直接上代码。 #include<stdio.h> #include<stdlib.h> struct edge { int u,v,w,flag; }p[4952]; int n,m; int f[101]; int used[101]; int cmp(const void*aa,const void
·
2015-11-13 13:10
unique
poj
1679
The Unique MST
id=
1679
问最小生成树是否唯一 其实就是问次小生成树是否等于最小生成树 思路: 1 Kruskal 求最小生成树MIN 记录哪些边用了 哪些没有用 并建树
·
2015-11-13 12:44
unique
【BZOJ】
1679
: [Usaco2005 Jan]Moo Volume 牛的呼声(数学)
id=
1679
水题没啥好说的。。
·
2015-11-13 11:34
USACO
poj
1679
(最小生成树)
传送门:The Unique MST 题意:判断最小生成树是否唯一。 分析:先求出原图的最小生成树,然后枚举删掉最小生成树的边,重做kruskal,看新的值和原值是否一样,一样的话最小生成树不唯一。 #include<iostream> #include<cstdio> #include<cstring> #include&l
·
2015-11-13 06:51
最小生成树
次小生成树 (附:poj
1679
)
次小生成树: 在求最小生成树时,用数组path[i][j]来表示MST中i到j最大边权。 求完后,直接枚举所有不在MST中的边,把它加入到MST中构成一棵新的树,且该树有环,此环是由刚加入的边(I,j)造成的,所以可以通过删除path[i][j]即可得到新的一颗树,且所有的该类树中必有一棵为次小生成树。 比如如图所示: G,H不是MST上的边,通过加入边(G
·
2015-11-13 05:28
poj
POJ
1679
The Unique MST
求出次小生成树与最小生成树比较,如果相等则不唯一,否则输出最小生成树的权值。 这道题整整花了两个小时的时间,用的是prim算法,用Tlink记录边是否在MST中,然后枚举不在树中的边,用其权值w[u][v]代替max[u][v]。max[u][v]是MST中连结两 点u,v唯一的路中权值最大的那条边的权值。 /*Memory: 272K Time: 0MSLanguage: C++ R
·
2015-11-13 03:51
unique
poj
1679
次小生成树
次小生成树的求法: 1.Prime法 定义一个二维数组F[i][j]表示点i到点j在最小生成树中的路径上的最大权值。有个知识就是将一条不在最小生成树中的边Edge加入最小生成树时,树中要去掉的边就是Edge连接的两个端点i,j的F[i][j]。这样就能保存找到的生成树时次小生成树。 代码如下: #include<iostream> #include<algori
·
2015-11-13 02:50
poj
[PKU
1679
The Unique MST]
【题目】:The Unique MST 【来源】:POJ
1679
【关键字】:图论 次小生成树 //================================================
·
2015-11-13 02:06
unique
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 o
·
2015-11-13 00:21
unique
【POJ1697】次小生成树
id=
1679
题目大意:让你求最小生成树,并判断最小生成树是否唯一。
·
2015-11-12 23:30
poj
POJ
1679
The Unique MST
这是一个次小生成树的题目,我们知道要求最小生成树的方法,次小生成树在最小生成树的基础上运算就可以了,这里采用最简单的方法就是去掉最小生成树集合当中的每一条边再做kruskal,每次kruskla的时间复杂度有mlogm+m,进行最小生成树中边集的枚举复杂度为(n-1)*(m*logm+m),这题还是做到的,还有一种更好的方法,只要做一次kru
·
2015-11-12 17:36
unique
ACM-康托展开+预处理BFS之魔板——hdu1430
(Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s):
1679
&
·
2015-11-12 16:40
ACM
poj
1679
The Unique MST(次小生成树)
题意:判断最小生成树是否唯一。 分析:只需要判断最小生成树与次小生成树的总权值是否相等。 判断次小生成树的方法: kruskal O(n^3):先求一次最小生成树,然后枚举去掉生成树中的边,再求n-1次最小生成树,去最小的一棵。 prim O(n^2):先求一次最小生成树,记录树上的边,并且保存每个环中的最大边,然后用一次DP枚举掉树上的边,更新生成树的权和,取最小值。 kruska
·
2015-11-12 16:49
unique
ZOJ
1679
Telescope(区间DP变型题)
题意: 给定一个圆和圆周上面的 N 个点,选择其中的 M 个,按照在圆周上的顺序连成一个 M 边形,使得它的面积最大。 (黑书 147 圆和多边形) 思路: 1. 我一开始尝试的是 dp[i, j] 表示前 i 边形在前 j 个点上的最大面积。想来想去,因为三角形的起点和终点无法固定,则要加强下命题; 2. 对于此类循环类型的动态规划,一般想办法和区间 DP 挂上钩。dp[i, d, j
·
2015-11-12 13:45
scope
[POJ
1679
] The Unique MST
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
·
2015-11-12 12:50
unique
次小生成树(poj
1679
)
次小生成树讲的比较详细的: http://www.cppblog.com/MatoNo1/archive/2011/05/29/147627.aspx 对于prim算法的三种特殊 另外注意三种特殊情况:【1】图G不连通,此时最小生成树和次小生成树均不存在。判定方法:在扩展T的过程中找不到新的可以加入的边;【2】图G本身就是一棵树,此时最小生成树存在(就是G本身)但次小生成树不存在。判定方法:
·
2015-11-12 11:42
poj
POJ
1679
题
//题目大意:判断最小生成树是否唯一//解题思路:求出最小的次小生成树,判断最小的次小生成树是否与最小生成树的权值和一样,如果一样,则唯一,否则不唯一//求次小生成树的算法:(1)有个比较直观的方法。依次把MST上的边删掉,然后再做MST。这样的做就是编码简洁,有模块可以重用。效率O(n*O(MST))(2)既然每替换出去一条边,都将使代价变大。所以求次小生成树,只需要替换出去一条边即可。枚举不在
·
2015-11-12 09:10
poj
POJ
1679
The Unique MST(次小生成树)
题目链接 题意:最小生成树是否唯一。 数据比较水,用最朴实的方法过的,O(n^2+e)再学一学,这个朴实方法改了N处,,思路简单,Kruskal写的,就是删除生成树里的每一条边,求最小生成树,唉,这是写的啥啊。。。。 1 #include <cstdio> 2 #include <cstring> 3 #include <map> 4 #i
·
2015-11-12 09:34
unique
POJ
1679
The Unique MST(次小生成树)
题意: 给定一张无向图,如果存在唯一的一个最小生成树,则输出大小,如果不存在,则输出 Not Unique! 思路: 1. 求其最小生成树,对于树上的每 2 个节点 u, v,如果边 (u, v) 不在树上,则补全,成为一个环,然后删除这个环中除了 (u, v) 之外最大的边 2. 如果此时树的大小仍为最小生成树的大小,则最小生成树不唯一。 3. dp[i, j] 代表生成树上
·
2015-11-12 08:38
unique
POJ
1679
The Unique MST --Kruskal应用
这题可以用次小生成树解,这里用Kruskal算法来做。每条边除维护u,v,w外,还维护: used:表示这条边是否加过 eq:表示有没有与这条边相等的边 del:删除标记,以便删边之用 如果对于一个最小生成树的的边A,有一条与之权值相等的边B,则考虑把A删掉,再求一次最小生成树,看求出的总权值是否与前一个最小生成树的总权值相等。如果相等,则不唯一,如果找遍了这些权值相等的边都没
·
2015-11-11 16:17
unique
pku
1679
次最小生成树
代码 #include < iostream > #include < queue > #include < vector > #define Nmax 105 #define INF 1
·
2015-11-11 13:55
最小生成树
poj
1679
The Unique MST (次小生成树 模版)
id=
1679
参考 : http://hi.baidu.com/buaa_babt/blog/item/55a7dca78246e49e4610647e.html/* 2 求次小生成树,用kruskal
·
2015-11-11 07:31
unique
PKU
1679
The Unique MST
判断最小生成树是否唯一,可以证明如果MST不唯一,必然是由于有两条边的权相等(反过来不成立),那么在第一次求MST时可以标记这类边,然后逐一去掉重新求MST,看是否和之前的相等。 /* 判断最小生成树是否唯一, kruskal */ # include <stdio.h> # include <stdlib.h> # define N 105
·
2015-11-11 01:22
unique
vim学习
很给力的一篇关于vim使用文章http://blog.csdn.net/niushuai666/article/details/7275406使用vim分屏http://coolshell.cn/articles/
1679
我爱吃葱花
·
2015-11-09 13:00
vim
判断最小生成树是否唯一
id=
1679
The Unique MST Time Limit: 1000MS Memory Limit: 10000K Total Submissions
·
2015-11-08 14:39
最小生成树
次小生成树(poj
1679
)
The Unique MST Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 20737 Accepted: 7281 Description Given a connected undirected graph, tell i
·
2015-11-08 14:30
poj
POJ
1679
The Unique MST
The Unique MST Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 15153 Accepted: 5241 Description Given a connected undirected graph, tell if its minimum spanni
·
2015-11-07 15:17
unique
POJ
1679
The Unique MST (最小生成树)
The Unique MST Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 22668 Accepted: 8038 Description Given a connected undirected graph, tell i
·
2015-11-07 14:16
unique
The Unique MST----poj
1679
次小生成树
id=
1679
判断最小生成数是否唯一:如果唯一这权值和次小生成树不同,否则相同; #include<stdio.h> #include<string.h
·
2015-11-07 10:03
unique
判定最小生成树是否唯一
poj
1679
(简单题):http://poj.org/problem?id=
1679
模板题:#include #include #in
qq_31457873
·
2015-11-05 21:00
POJ
1679
The Unique MST
关于次小生成树的构造: 在求最小生成树时,用数组Max[i][j]来表示MST中i到j最大边权。 求完后,直接枚举所有不在MST中的边,把它加入到MST中构成一棵新的树,且该树有环,此环是由刚加入的边(i,j)造成的,所以可以通过删除Max[i][j]即可得到新的一颗树,且所有的该类树中必有一棵为次小生成树。 如图所示: G,H不是MST上的
·
2015-11-05 08:17
unique
BZOJ
1679
: [Usaco2005 Jan]Moo Volume 牛的呼声( )
一开始直接 O( n² ) 暴力..结果就 A 了... USACO 数据是有多弱 = = 先sort , 然后自己再YY一下就能想出来...具体看code ----------------------------------------------------------------------------------------- #include<cst
·
2015-11-02 12:04
USACO
pku
1679
The Unique MST 次小·生成树
id=
1679
本来这周计划不刷题了,在复习最小生成树时,忽然想到了北邮现场赛的那个次小生成树的题目就搜了一下,原来pku也有类似的一道题,于是就做了。
·
2015-11-01 14:58
unique
poj
1679
The Unique MST
判断MST的唯一性 用kruskal算法实现,主要利用MST的环性质 先保存所有的边在一个边集数组a中,然后单独去构建一个MST,在a中没能用上的非安全边全部放到另一个边集数组b中 另外在构建MST过程要构建一个邻接表,用vextor来实现,也就是只统计MST之间的连通情况,非安全边的不统计在内 例如 1 2 3(安全边) 1
·
2015-10-31 19:44
unique
POJ-
1679
The Unique MST 次小生成树
id=
1679
求是否存在多个最小生成树,其实就是求次小生成树的权值是否等于最小生成树。
·
2015-10-31 11:23
unique
poj
1679
Kruskal+MST环性质
题意:在一个无向图中,若其最小生成树唯一,则输出其值;若不唯一则输出“Not Unique!”。 《算法:C语言实现》这本书将MST有两个重要性质:割性质和环性质。本题则用到了MST的环性质。也就是说在一个无向连通图中可以将边分为MST上的边和非MST上的边,若将非MST上的边e加入MST中一定会形成一个环。所以先用Kruskal算法求出MST,然后以e的一个端点开始在MST上进行深搜,找到到达
·
2015-10-31 11:14
poj
poj
1679
唯一最小生成树
#include <cstdio> #include <cstring> #include <algorithm> #include <climits> #include <string> #include <iostream> #include <map> #include <cstdlib&
·
2015-10-31 10:38
最小生成树
POJ
1679
The Unique MST(判断最小生成树是否唯一)
思路: (1)对图中每条边,扫描其他边,如果存在相同权值的边,则对该边做标记。 (2)然后用Kruskal求MST。 (3)求得MST后,如果该MST中未包含做了标记的边,即可判定MST唯一,如果包含了做了标记的边,则依次去掉这些再求MST,如果求的MST权值和原MST权值相同,即可判定MST不唯一。 代码: 1 #include <algorithm>
·
2015-10-31 10:24
unique
SOJ题目分类
-----------------------------------------------------常规动态规划 SOJ1162 I-Keyboard SOJ1685 ChopsticksSOJ
1679
·
2015-10-31 10:30
分类
poj
1679
The Unique MST ( 次小生成树 )
(n^3) -- kruskal 枚举边 #include<stdio.h> #include<iostream> #include<algorithm> #include<string.h> #define N 110 #define inf 99999999 using namespace std; struct
·
2015-10-31 09:04
unique
POJ
1679
The Unique MST(次小生成树)
The Unique MST Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 16984 Accepted: 5892 Description Given a connected undirected graph, tell i
·
2015-10-31 09:18
unique
poj
1679
判断最小生成树是否唯一
昨天一直WA,仔细看了下,是最小生成树的写法问题,路径记录的不正确,以后果断换种写法 我的做法是先求最小生成树,再枚举树边去掉,再求最小生成树,看是否还是相同的结果,如果是,则证明不唯一 View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<vector> 4 #def
·
2015-10-30 16:03
最小生成树
POJ
1679
判最小生成树的不唯一性
题目大意: 给定一个无向图,寻找它的最小生成树,如果仅有一种最小生成树,输出所有边的和,否则输出unique! 根据kruscal原理来说,每次不断取尽可能小的边不断添加入最小生成树中,那么可知如果所有边的长度都不相同,那么kruscal取得过程必然只有一种情况,由小到大 所以要是存在多种情况的最小生成树,那么必然是存在相同的边 初始将所有相同的边进行标记,生成第一次最小生
·
2015-10-30 14:03
最小生成树
poj
1679
(判断最小生成树是否唯一)
题意:给出n个点,m条边,要你判断最小生成树是否唯一。 思路:先做一次最小生成树操作,标记选择了的边,然后枚举已经被标记了的边,判断剩下的边组成的最小生成树是否与前面的相等,相等,则不唯一,否则唯一...... #include<iostream> #include<cstdio> #include<cstring> #include<algo
·
2015-10-30 13:39
最小生成树
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
·
2015-10-30 13:45
unique
poj
1679
题意:给定一个无向连通图,问该图的最小生成树是否唯一。 分析:有一个定理,如果该图存在次小生成树(与原最小生成树不同,但长度小于等于原最小生成树),则一定可以通过从原最小生成树中去掉一个边并再入一个边得到。 经过思考我们会发现,如果要加入一个v1和v2之间的新边,那么则应去掉原有的两点间通路(是唯一通路)中的一条边才能构成生成树。那么为了保证生成树最小,则应去掉原通路上最长的那条边。 对于本
·
2015-10-30 12:07
poj
poj
1679
判断最小生成树是否唯一(kruskal)
针对poj
1679
这题,采用Krusk
·
2015-10-30 10:52
最小生成树
POJ
1679
The Unique MST
The Unique MST Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 19847 Accepted: 6959 Description Given a connected undirected graph, tell i
·
2015-10-28 08:58
unique
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他