城市平乱
时间限制:1000 ms | 内存限制:65535 KB
难度:4
描述
南将军统领着N个部队,这N个部队分别驻扎在N个不同的城市。
他在用这N个部队维护着M个城市的治安,这M个城市分别编号从1到M。
现在,小工军师告诉南将军,第K号城市发生了暴乱,南将军从各个部队都派遣了一个分队沿最近路去往暴乱城市平乱。
现在已知在任意两个城市之间...
分类:
其他好文 时间:
2014-08-09 21:32:09
阅读次数:
176
Dijkstra算法是解单源最短路径问题的贪心算法。其基本思想是,设置顶点集合点集合S并不断地做贪心选择来扩充这个集合。一个顶点属于集合S当且仅当从源到该顶点的最短路径长度已知。初始时,S中仅含有源。设u是G的其一顶点。把从源到u且中间只经过S中顶点的路称为从源到u的特殊路径,并用数组Distance记录当前每个顶点所对应的最短特殊路径长度。Dijkstra算法每次从V-S中取出具有最短特殊路长度...
分类:
其他好文 时间:
2014-08-09 13:31:37
阅读次数:
271
题意:从2到1的所有路径中找出最短的路,并且输出最短路径有几条。
策略:先求出最短路径,然后再找出从2到1的最短路径有几条。最短路径用dijkstra算法来求出,什么是dijkstra算法,简单来说,dijkstra算法就是路径长度递增次序产生最短路径的算法:
基本思想是:把集合V分成两组;
(1)S:已求出最短路径的顶点的集合
(2)V-S=T:尚未确定最短路径的顶点集合
将T中顶点按...
分类:
其他好文 时间:
2014-08-09 11:45:57
阅读次数:
275
《算法之道》精华 经典算法部分
本书作者绉恒明,作者另有一本书《数据结构之弦》,以及《操作系统之哲学原理》都是很好的书这本书可以算得上是深入浅出,文笔很好,作者添加了很多自己的思考本文包括经典算法部分
第十章 排序与次序
插入排序
从无序部分抽取一张插入有序部分为原地排序,无需占用临时存储空间最优情况下为O(n),平均O(n^2)
折半插入排序
插入时使用二分查找
归...
分类:
其他好文 时间:
2014-08-09 11:36:47
阅读次数:
238
上一节《Cocos2d-x 地图行走的实现1:图论与Dijkstra算法》:http://blog.csdn.net/stevenkylelee/article/details/38408253
本节实践另一种求最短路径算法:SPFA
1.寻路算法实现上的优化
上一节我们实现的Dijkstra用了一个哈希表来保存搜索到的路径树。如果能用直接的访问的方式,就不要用哈希表...
分类:
其他好文 时间:
2014-08-08 21:30:26
阅读次数:
384
题目链接:
啊哈哈,点我点我
思路:
首先把图中的A S预处理出来,然后对这些点逐一做bfs找到这些点到其它点的最短路径,然后建图完毕也用最小生成树的prim算法或者kruscal算法求出连接所有点的最短距离。。不知道为嘛用dis数组去维护为什么会超时,而在结构体里面用step数组却可以过,我也不知道为什么,纠结了很多天。。我把错误的代码贴出来,希望各位帮我找出原因,不胜感激。。。
...
分类:
其他好文 时间:
2014-08-07 09:48:49
阅读次数:
242
本文乃Siliphen原创,转载请注明出处:http://blog.csdn.net/stevenkylelee
本文的实现基于Cocos2d-x 3.2
目录:
1.什么是地图行走
2.图论简介
3.图论的数据结构
4.图编辑的实现思路
5.图论结构数据的保存和载入
6.经典的最短路径算法Dijkstra
1.什么是地图行走
很多游戏会有一...
分类:
其他好文 时间:
2014-08-07 00:47:47
阅读次数:
385
有n片荷叶正好在一凸多边形顶点上有一只小青蛙恰好站在1号荷叶的点小青蛙可以从一片荷叶上跳到另外任意一片荷叶上给出N个点的坐标N<800求小青蛙想通过最短的路程遍历所有的荷叶一次且仅一次的最短路径。这题如果没有凸多边形的性质,就是裸的TSP问题,数据范围没法做的很大,用dp做也最多做到n=20左右,即...
分类:
其他好文 时间:
2014-08-07 00:12:17
阅读次数:
728
题意:要造一个圣诞树(可以想象成倒过来的树结构),有n个节点,m条边,并告诉你边的信息,两条边之间有个单位造价,
一条树枝的造价=它上面的节点的重量以及节点子树的重量 * 这条树枝的单位造价。
需求出造这个圣诞树的最小造价,也有可能造不出。
画画图可以看出,总造价 = 每一点的重量 * 它到节点的最短路径,所以这道题其实就是个最短路
题目比较坑,dist数组会越界,需用long l...
分类:
其他好文 时间:
2014-08-06 19:09:12
阅读次数:
249
Dijkstra://寻求加权图起始点到各个节点的最短路径for i distance[presentNode] + length(i, presentNode) //更新节点距离 distance[i] = distance[presentNode] + length(i, presentNod....
分类:
其他好文 时间:
2014-08-05 22:20:20
阅读次数:
234