图
PKU_CXK
北京大学信息科学技术学院
展开
-
用邻接链表和队列实现拓扑排序
之前写拓扑排序是通过邻接矩阵写的,应对小的数据量还可以,但要是顶点数很大时,开的邻接矩阵就未免太大了.今天学习了用邻接表实现拓扑排序,比较简单,所幸,写完后一遍编译通过 + 一遍AC.**描述** 给出一个图的结构,输出其拓扑排序序列,要求在同等条件下,编号小的顶点在前**输入** 若干行整数,第一行有2个数,分别为顶点数v和弧数a,接下来有a行,每一行有2个数,分别是该条弧所关联的两个顶点编号**原创 2016-12-09 16:00:51 · 1959 阅读 · 0 评论 -
趣味理解匈牙利算法(转载)
【书本上的算法往往讲得非常复杂,我和我的朋友计划用一些简单通俗的例子来描述算法的流程】 匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名。匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法。——-等等,看得头大?那么请看下面的版本:通过数代人的努力,你终于赶上了剩男剩女的大潮,假设你是一位转载 2016-12-17 01:13:16 · 493 阅读 · 0 评论 -
POJ 2446 : Chessboard(二部图算法)
可以将棋盘看成国际象棋的棋盘,也就是说,相邻两格的颜色不同,设为白色和黑色.那么白色格子和黑色格子就构成了一个二部图,只能在异色格子之间连线.现在就是要求完美二部图匹配,判断最后的匹配数是否等于没有洞的格子数.这里我用邻接链表来当存储结构,节省了很大空间开销. 总时间限制: 2000ms 内存限制: 65536kB原创 2016-12-17 01:19:58 · 607 阅读 · 0 评论 -
百练 1258 : Agri-Net(最小生成树)
这个题目是让你求出联通所有点所需要的最小代价,就是最小生成树问题.之前学过Kruskal算法,就用并查集写了个最小生成树的生成算法.Kruskal算法:将边按权重大小排序,每次取权重最小的边,如果两个点属于不同的集合,归并,否则遍历下一条边,知道所有点都在同一集合,归并结束.总时间限制: 1000ms 内存限制: 65536kB**描述** Farmer John has been elected原创 2016-12-14 15:59:47 · 391 阅读 · 0 评论 -
华为机试--素数伴侣
时间限制:1秒 空间限制:32768K 热度指数:917本题知识点: 查找 排序 题目描述 题目描述若两个正整数的和为素数,则这两个正整数称之为“素数伴侣”,如2和5、6和13,它们能应用于通信加密。现在密码学会请你设计一个程序,从已有的N(N为偶数)个正整数中挑选出若干对组成“素数伴侣”,挑选方案多种多样,例如有4个正整数:2,5,6,13,如果将5和6分为一组中只能得到一组“素数伴侣”,原创 2017-02-02 00:55:35 · 1489 阅读 · 0 评论