已知初始状态和目标状态时可用双向搜索 有种神仙代码实际上不对, 没有判重, 拓展了很多重复的状态节点 但 还是能算出答案 , 用小样例验证时还看不出来, 一交全TLE 所以千万要记得判重 详见代码, ~~自认为码风清奇~~ include include include define re regi ...
分类:
其他好文 时间:
2019-01-27 22:04:22
阅读次数:
188
用途: 解决单源最短路径问题(已固定一个起点,求它到其他所有点的最短路问题) 算法核心(广搜): (1)确定的与起点相邻的点的最短距离,再根据已确定最短距离的点更新其他与之相邻的点的最短距离。 (2)之后的更新不需要再关心最短距离已确定的点 三种实现模板: 一、矩阵朴素版 二、vector简单版 三 ...
分类:
编程语言 时间:
2019-01-27 12:56:48
阅读次数:
210
题目大意: 在一个n*m的房间中 ‘X’为墙 ‘D’为门 ‘.’为人 门只存在与外围 人每秒钟只能向四连通区域走一步 门比较狭窄 每秒钟只能通过一个人 求所有人逃脱的最短时间 如果不可能则输出impossible 对每个门 广搜出能在这个门逃脱的人的逃出时间 将 对应各个时间的这个门 当做不同的点 ...
分类:
其他好文 时间:
2018-12-14 21:07:23
阅读次数:
147
传送门 https://www.cnblogs.com/violet-acmer/p/10035971.html 题意: 一本书有n页,每次只能翻 d 页,问从x页到y页需要翻动几次? 注意:往前翻最少翻到第1页,往后翻最多翻到n页。 题解: 一开始想找规律来着,emmmm,直接用广搜,当时竟然过了 ...
分类:
其他好文 时间:
2018-11-29 22:23:01
阅读次数:
272
题目描述: 由于自己“想得太多”,导致自己读了半天题才理解了题意。我还以为索敌值会随着每一次到达战略点而减小,结果题意是索敌值是固定了的,并不会改变。 如下是我对题目中第一个案例的分析: 每个圆圈代表一个战略点的编号,边上的值代表每两个战略点之间所需索敌值。 开始时Nettle在1,他只需要3个索敌 ...
分类:
其他好文 时间:
2018-11-21 22:14:14
阅读次数:
255
双端队列BFS解决的就是路径权值可能为0的图最短路问题,权值为0插入队头,否则插入队尾。 对于这个题,可以看作上下移动的路径的权值为0,左右移动权值为1,而且不能超过规定的步数。 直接广搜求覆盖的点的数目即可。 (场上我一般BFS被hack了) 代码: ...
分类:
其他好文 时间:
2018-10-15 00:37:21
阅读次数:
190
https://www.luogu.org/problemnew/show/P1778 https://www.luogu.org/problemnew/show/P2578 双向广搜。 有固定起点终点,过程可逆。 有时用于A*估价函数不好用的时候。 万圣节后的早晨 (由于鬼可以同时移动,估价函数不 ...
分类:
其他好文 时间:
2018-10-12 21:11:05
阅读次数:
141
与其说这题是双向广搜板子不如说是哈希表板子... 就像邻接表一样,哈希表挂的链就是邻接表的边 把计数器记在边权上偷懒 一开始看错了条件。。。 记得先模再加mod再模,防止负数 GG 有一个显然的事情是,模数大了空间会大,模数小了 find 时间长 代码: ...
分类:
其他好文 时间:
2018-10-11 21:54:57
阅读次数:
157
一.DFS(深度优先搜索) 过于水略过。 二.BFS(广度优先搜索) 同上。 三.记忆化 记忆化搜索,就是我们的状态会重复利用,为了防止状态的重复计算耗费不必要的时间,我们可以把这个状态的结果记录下来,然后查询表中的结果就行了。 一般来所,记忆化搜索是和DP等价的。如果递推的DP不好写,可以考虑用记 ...
分类:
其他好文 时间:
2018-10-10 20:15:40
阅读次数:
166