题意:给出一个图 n x n (2
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2489
——>>数量小,于是,可以枚举取 m 个点的所有情况,对每种情况最一次MST,更新最小值。。
时间复杂度:O(n ^ n * log(n) * 2 ^ n)
#include
#include
#include
#include
using...
分类:
其他好文 时间:
2014-11-22 21:38:15
阅读次数:
277
题意:判断最小生成树是否唯一,
若唯一,输出最小权值和,否则,输出 Not Unique!
判断最小生成树是否唯一的思路:
1、对图中的每一条边,扫描其他边,如果存在相同权值的边,则对该边做标记
2、然后用Kruskal算法或Prim算法求MST
3、求得MST后,如果该MST中未包含做了标记的边,即可判断MST唯一;
如果包含做了标记的边,则依次去掉这些边的一条边,再求MST,
如果求得的MST权值和原来的MST的权值一样,即可判断MST不唯一。...
分类:
其他好文 时间:
2014-11-17 17:51:02
阅读次数:
165
题目大意:给出一些袜子的排列顺序,每次问一段区间中有多少相同颜色的袜子对。
思路:莫队算法真是一个神奇的算法。首先,暴力枚举是O(n^2)的时间复杂度,这肯定是不行的。假如区间是保证不重合的,那么就可以将总的时间转移的复杂度降到O(n)。很遗憾,题目中没有这个保证。于是乎,神秘的莫队就发明了一种神奇的算法。
对于每一个询问,我们将它看成一个平面上的点(x1,y1),同样的也就会有其他的...
分类:
编程语言 时间:
2014-11-13 16:43:29
阅读次数:
226
题目大意:求出曼哈顿距离最小生成树上的第k大边权。
思路:首先,你要了解:http://blog.csdn.net/acm_cxlove/article/details/8890003
也就是说,我们以每一个点为中心,把平面分成8个部分,每一个部分我们只需要离这个点最近的点。然后加上建一条边连接这个边和最近的点。然后就是MST。
听说这个算法是莫队算法的基础,我现在就去学。
...
分类:
其他好文 时间:
2014-11-12 17:57:17
阅读次数:
211
题意:
给定n个点m条边的无向图。
下面m行给出边和边权
下面Q个询问。
Q行每行给出一条边(一定是m条边中的一条)
表示修改边权。
(数据保证修改后的边权比原先的边权大)
问:修改后的最小生成树的权值是多少。
每个询问互相独立(即每次询问都是对于原图修改)
保证没有重边。
求:所有修改后的最小生成树权值的平均值。
思路:
首先跑一个最小生成树。
求得这个MST的...
分类:
其他好文 时间:
2014-11-09 18:07:55
阅读次数:
224
题意:N个点,M条边。每条边连接两个点u,v,且有一个权值c,c非零即一。问能否将N个点形成一个生成树,并且这棵树的边权值和是一个fibonacii数。 (fibonacii数=1,2,3,5,8 .... )思路:若可以生成一棵树。则有最小生成树和最大生成树。假设已经生成了最小MST P 和最大M...
分类:
其他好文 时间:
2014-11-08 16:43:32
阅读次数:
181
美国时间一般被认为是美国本土的时间。美国本土横跨西五区至西十区,共六个时区,每个时区对应一个标准时间。从东向西分别为东部时间(EST)(西五区时间)、中部时间(CST)(西六区时间)、山地时间(MST)(西七区时间)、太平洋时间(西部时间)(PST)(西八区时间)、阿拉斯加时间(AKST)(西九区时...
分类:
其他好文 时间:
2014-11-05 14:33:20
阅读次数:
461
题目:poj 1679 The Unique MST
题意:给你一颗树,让你求最小生成树和次小生成树值是否相等。
分析:这个题目关键在于求解次小生成树。
方法是,依次枚举不在最小生成树上的边,然后添加到最小生成树上,然后把原树上添加了之后形成环的最长的边删去,知道一个最小的。就是次小生成树。
这些需要的都可以在求解最小生成树的时候处理出来。
AC代码:
#inc...
分类:
其他好文 时间:
2014-11-04 11:08:16
阅读次数:
194
题目:http://www.luogu.org/problem/show?pid=2266题解:感觉题意不清,就去瞅题解了T_T 然后发现好水。。。 类似于MST,我们把边从小到大加进去就可以了。 每加入一条边,判断是否符合条件,统计一下ans。 程序的具体实现有一些技巧 ...
分类:
其他好文 时间:
2014-11-03 13:01:01
阅读次数:
146
恩,归类上来讲的话。。。是一道非常好的noip题。。。只不过嘛、、、(此处省略100字)然后将如何做:首先Kruskal求出最小生成树。我们其实可以发现严格的次小生成树不可能在MST上改两条边 只能改一条边。那么如何改呢?每次在MST中加入一条非树边,即不在MST的边,那么会形成一个环,只要找到换....
分类:
其他好文 时间:
2014-10-31 23:25:51
阅读次数:
350