给出一个有向无环图,问最少多少条边就可以覆盖所有的点,很明显的最少路径覆盖问题,但是点可以重复用,这与hungary算法不太一样,我们可以这样处理,假设a要经过b点到c,但是b点已经被访问过,为了保证a顺利到c,就让a直接飞过b到c,也就是说添加一条a到c的边,这其实就是求传递闭包,我们可以通过floyd算法求出。然后ans=n-hungary()。
一开始用了邻接表的最大二分匹配,在求闭包...
分类:
其他好文 时间:
2016-05-12 16:13:36
阅读次数:
232
题目大意:赤壁决战,曹操在有利形势下,轻敌自负,指挥失误,终致战败。孙权、刘备在强敌进逼关头,结盟抗战,扬水战之长,巧用火攻,终以弱胜强。赤壁之战结束之后魏蜀吴三国决定握手求和,但是因为之前四处交战,把道路全部毁坏了,现在需要重新修路使得三国的国都能够连通.诸葛亮是这个项目的负责人,但是他太聪明了,对于这种题目都懒得思考了,于是就交给你了。
思路:因为要求三个和城市之间的最短路,最短路一...
分类:
其他好文 时间:
2016-05-12 12:29:49
阅读次数:
107
虽然邻接矩阵真的很方便,很简单,很利于理解,但却有着一些重大缺陷;
当我们遇到的是一张稀疏图的时候,邻接矩阵就造成严重的空间浪费,更直接一点,就是根本存不下来;
这个时候就不得不考虑其他存图方式了,这个时候另一种流行的存图方式就登场了——邻接表,当然使用vector数组也是一种良好的选择;
邻接表的实现可以通过链表或数组的方式实现,我这里主要讲数组的实现方法;
首先,有三个数组,分别为u[...
分类:
编程语言 时间:
2016-05-11 07:28:39
阅读次数:
174
//输入样例
/*
5 0
AB AD AC CD BE DE
*/
//输出
/*
Please Input the edge x-->y:AB AD AC CD BE DE
A 1 2 3
B 0 4
C 0 3
D 0 2 4
E 1 3
*/
//dfs测试数据
/*
8 0
Please Input the edge x-->y:AB ...
分类:
其他好文 时间:
2016-05-07 10:45:24
阅读次数:
236
//输入样例
/*
5 0
AB AD AC CD BE DE
*/
//输出
/*
Please Input the edge x-->y:AB AD AC CD BE DE
A 1 2 3
B 0 4
C 0 3
D 0 2 4
E 1 3
*/
//dfs测试数据
/*
8 0
Please Input the edge x-->y:AB ...
分类:
其他好文 时间:
2016-05-07 10:07:52
阅读次数:
166
时间一晃已经大二下了,学校也开了数据结构的课,想起了自己大一刚会C语言,自学数据结构的时候,那时候很无助啊,不懂就只有拼命看,改bug改很久。 老师一节课讲完了邻接表,十字链表,邻接多重表。然而感觉他好像在自己讲自己的,一点也不认真。 但是依托老师是不行的,只懂理论也不行,或许学生认为邻接矩阵,邻接 ...
分类:
编程语言 时间:
2016-05-05 17:30:08
阅读次数:
349
数据结构与算法——无权最短路径算法的C++实现(用两个算法来实现,图的邻接表表示法来实现的图类)...
分类:
编程语言 时间:
2016-05-03 18:22:10
阅读次数:
268
求单源最短路到其余各点,然后返回源点的总最短路长,以构造邻接表的方法不同分为两种解法。 POJ1511(ZOJ2008)-Invitation Cards 改变构造邻接表的方法后,分为两种解法 解法一: 解法二: ...
分类:
其他好文 时间:
2016-05-02 16:47:33
阅读次数:
288
数据结构与算法——图的邻接表表示法类的C++实现...
分类:
编程语言 时间:
2016-04-29 16:19:47
阅读次数:
266
图的存储结构最常用的有4 5种,常用的两种:邻接矩阵和邻接表。 一、邻接矩阵 邻接矩阵,原理就是用两个数组,一个一维数组保存顶点集,一个二维数组保存边集。 V(G)={V1,V2,V3} E(G)={<V1,V2>,<V2,V3>,<V3,V1>,<V1,V3>} ...
分类:
其他好文 时间:
2016-04-26 12:15:47
阅读次数:
140