题目背景 在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板。这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 题目描述 我们知道魔板的每一个方格都有一种颜色。这8种颜色用前8个正整数来表示。可以用颜色的序列来表示一种魔板状态,规定从魔板的左上角开始,沿顺时针方向依次 ...
分类:
其他好文 时间:
2018-09-15 10:09:14
阅读次数:
149
现在来了解A*算法是什么 现在来解决A*求K短路问题 在一个有权图中,从起点到终点最短的路径成为最短路,第2短的路成为次短路,第3短的路成为第3短路,依此类推,第k短的路成为第k短路。那么,第k短路怎么求呢? 对于第k短路,可以想到的一个比较朴素的算法就是广度优先搜索,使用优先队列从源点s进行广搜, ...
分类:
编程语言 时间:
2018-09-11 01:10:28
阅读次数:
228
什么是双端队列BFS? 如果你不了解双端队列 的话,请先去学习。 双端队列 又称 适用范围 边权值为可能有,也可能没有(由于 适用于权值为 $1$ 的图,所以一般是 $0$ $or$ $1$),或者能够转化为这种边权值的最短路问题。 例如在走迷宫问题中,你可以花 $1$ 个金币走 $5$ 步,也可以 ...
分类:
其他好文 时间:
2018-09-09 11:41:19
阅读次数:
903
用途: 解决单源最短路径问题(已固定一个起点,求它到其他所有点的最短路问题) 算法核心(广搜): (1)确定的与起点相邻的点的最短距离,再根据已确定最短距离的点更新其他与之相邻的点的最短距离。 (2)之后的更新不需要再关心最短距离已确定的点 三种实现模板: 一、矩阵朴素版 二、vector简单版 三 ...
分类:
编程语言 时间:
2018-08-24 20:47:10
阅读次数:
178
广度优先搜索的策略是: 从起始点开始遍历其邻接的节点,由此向外不断扩散。 从图中某顶点v出发,在访问了v之后依次访问v的各个未曾访问过的邻接点, 然后分别从这些邻接点出发依次访问它们的邻接点, 并使得“先被访问的顶点的邻接点先于后被访问的顶点的邻接点被访问, 直至图中所有已被访问的顶点的邻接点都被访 ...
分类:
其他好文 时间:
2018-08-24 17:20:44
阅读次数:
126
http://acm.sdibt.edu.cn/vjudge/contest/view.action?cid=1977#problem/A 广搜: e2 e4a1 b2b2 c3a1 h8a1 h7h8 a1b1 c3f6 f6 在一个8*8的棋盘中,a1代表第零行的第一个元素,每个棋子只能像象棋中 ...
分类:
其他好文 时间:
2018-08-18 19:38:28
阅读次数:
170
题目大意: 考虑将如此安排在一个 3 x 3 行列中的九个时钟: 目标要找一个最小的移动顺序将所有的指针指向12点。下面原表格列出了9种不同的旋转指针的方法,每一种方法都叫一次移动。选择1到9号移动方法,将会使在表格中对应的时钟的指针顺时针旋转90度。 移动方法 受影响的时钟 1 ABDE 2 AB ...
分类:
其他好文 时间:
2018-08-09 22:05:16
阅读次数:
149
其实prim算法和dijkstra算法差不多,不过迪杰斯特拉是算从 s->t 的最短路径,而prim是算连接全图的最短路径 两者都是从一个起点开始进行广搜 但克鲁斯卡尔算最最小生成树是把所有边都排序好然后慢慢添加边,用并查集维护,因为用到了边的排序,所以当题目边比较多是用prim比较好,点比较多是用 ...
分类:
编程语言 时间:
2018-08-09 21:16:06
阅读次数:
163
啊,一下子就第三周了(〃'▽'〃) 时间总是匆匆,什么该在乎又什么该不在乎呢,有时候回头真的挺可惜自己拿来打游戏玩乐的时间,然而玩的时候真。。。爽┐(?~?)┌ 直入真题,这周讲的是有关拓扑排序和最短路径的东西,这个最短路径我老是想用深搜广搜,不过在大量数据面前,这明显会TLETLETLE来个三连( ...
分类:
其他好文 时间:
2018-08-06 00:39:45
阅读次数:
175
题目链接:HDU-2222 或 Vjudge 简单说明: ac自动机的建立,其中插入过程借助了字典树,处理回溯数组(也有人称失败数组)过程是一个广搜运用了STL的队列(queue)。ac自动机的过程还在写。 这是学习ac自动机的第一题,如果wa的话,那就要注意,字串结束标记是如何标记的了。它不能单单 ...
分类:
其他好文 时间:
2018-07-30 13:32:45
阅读次数:
141