码迷,mamicode.com
首页 >  
搜索关键字:过河问题 状态向量 图论    ( 2541个结果
poj 3169 Layout(差分约束)
poj 3169 Layout(图论-差分约束)...
分类:其他好文   时间:2014-06-18 11:32:08    阅读次数:217
POJ 1201 Intervals(图论-差分约束)
POJ 1201 Intervals(图论-差分约束) 题目大意: n行,每行a,b,c,表示在区间a,b内要找c个数,问你总共至少要找多少个数? 解题思路: 差分约束系统。 在本题中,如果[a,b]中要找c个元素,那么:s[b]-s[a-1]>=c,我们可以推得:s[a-1] - s[b] <= -c 同时,由于每一个值上最多只能含有一个元素,那么:s[i] - s[i-1]=0 推得:s[i-1] - s[i] <=0 这样:我们有了三个约束不等式: s...
分类:其他好文   时间:2014-06-18 08:05:51    阅读次数:245
算法7-3:深度优先搜索
深度优先搜索最初是因为迷宫游戏而诞生的。在一个迷宫中,有一个入口和一个出口,其中只有一条路径能从入口到达出口。在走迷宫的时候,每次将走过的地方进行标记,遇到死胡同的时候可以沿着进来的路线后退,找到新的没走过的拐角再尝试新的路线。这种方法的效率很高,因为每个地方只需要走过一次即可。其实,这就是深度优先搜索。 深度优先搜索的目标就是系统化地遍历整个图,让算法的效率更高。 ...
分类:其他好文   时间:2014-06-18 07:55:19    阅读次数:189
算法7-6:图论中的难题
二部图 难度:★★ 二分图是图论中的一种特殊模型,指顶点可以分成两个不相交的集使得在同一个集内的顶点不相邻(没有共同边)的图。 下图是一个二分图的例子,红点之间不会相邻,白点之间不会相邻。 判断图中是否存在环 难度:★★ 通过深搜就可以解决了。 欧拉环 ...
分类:其他好文   时间:2014-06-18 07:49:35    阅读次数:199
算法7-4:宽度优先搜索
宽度优先搜索的基本思想就是先将源点添加到一个队列中, 每次从队列中取出一个顶点,将该顶点的邻居顶点中没有拜访过的顶点都添加到队列中,最后直到队列消耗完毕为止。 应用 宽度优先搜索可以解决最短路径问题。而最短路径算法在互联网中应用非常广泛,尤其是路由这块。因为路由追求的是高效,所以每个路由路径都是通过最短路径计算出来的。如果没有最短路径算法,我们可能就享受不到这么快的...
分类:其他好文   时间:2014-06-18 07:36:25    阅读次数:230
算法7-2:图论接口
本节介绍如何在程序中表示一张图。 顶点 在程序中,顶点用整数表示就可以了。因为整数可以作为数组的下标,也可以作为哈希表的键。所以用整数是最方便的。 当然,在一张图中可能会出现一些异常情况,比如自己连接自己,两个顶点之间存在多个边。这些异常情况也是要考虑的。 接口 为了表示一张图,就要创建专...
分类:其他好文   时间:2014-06-18 06:56:36    阅读次数:208
算法7-5:连接部件
同学们一定用过Windows中的画图吧。那么画图中的油漆桶功能是如何实现的呢? 这个问题可以通过DFS深度优先搜索解决。 目标 我们要实现的目标是在常数的时间内判断某两个节点是否连接。 前面章节中介绍了并查集算法,并查集确实可以解决这个问题。我们今天来介绍另外一种办法,那就是DFS深搜。 ...
分类:其他好文   时间:2014-06-18 06:09:48    阅读次数:267
Python 图论工具
networkx: 一个用Python语言开发的图论与复杂网络建模工具, 内置了常用的图与复杂网络分析算法, 可以方便的进行复杂网络数据分析、仿真建模等工作。 依赖工具: numpy  pyparsing  datautil  matplotlib  networkx  采用随机图做个实验: from random im...
分类:编程语言   时间:2014-06-18 00:32:52    阅读次数:321
算法7-1:图论简介
无向图 无向图由顶点和边组成,边用于连接两个顶点。下面这张地图就是无向图的一个例子。 OPTE工程 OPTE工程的目标就是绘制整个互联网的样子。下图是2010年的互联网。互联网也是无向图的一个例子。这张图是用LGL软件进行绘制的。有兴趣的同学可以研究一下:http://www.opte.org/ ...
分类:其他好文   时间:2014-06-17 23:19:57    阅读次数:698
状态压缩动态规划 -- 旅行商问题
旅行商问题: N个点(N 并且路径上边的权值和最小(或者最大),或者求一条具有这样性质的回路。 状态压缩: 将二进制表示十进制数N的点集,比如: 10 = 00001010 代表第1和3个点已经路过 18 = 00010010 代表第1和4个点已经路过 一个整数就是一个点集, dp_arr[i][j]代表经过点集i中,当前终点为j,且路径最短的值,若该状态不存在就是...
分类:其他好文   时间:2014-06-17 16:05:30    阅读次数:231
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!