很多问题都可以归结为图的遍历,但这些问题中的图却不是事先给定、从程序中读入的,而是由程序动态生成的,称为隐式图。 回溯法一般是要找一个(或者所有)满足约束的解(或者某种意义下的最优解)。 路径搜索问题可以归结为隐式图的遍历,它的任务是找到一条从初始状态到终止状态的(最优)路径。 BFS是图的广度遍历 ...
分类:
其他好文 时间:
2020-03-25 01:19:47
阅读次数:
94
传送门https://vjudge.net/problem/UVA-658 看到这题以为是搜索。不过直接搜索估计会G。 正解是隐式图搜索,(看上去挺像bfs的,实际上就是带着权值的bfs,于是就变成了最短路 隐式图搜索就是在一个没有直接给出边的图上进行图论算法(最短路什么的 现在只碰到了最短路 虽然 ...
分类:
其他好文 时间:
2019-11-17 17:46:24
阅读次数:
61
这类题叫做图的广度优先遍历题,不过给你的是隐式图罢了(细节多)。 考点就是隐式图的遍历(难度主要集中在判断某节点是否与当前节点联通这块)。 cpp include using namespace std; const int maxn=501; char a[maxn][maxn]; int n,m ...
分类:
其他好文 时间:
2019-10-07 11:36:17
阅读次数:
93
八数码难题 参考代码:(刘汝佳《算法竞赛入门经典》,源代码在首页置顶区的代码仓库 编码和解码 c++ set vis; void init_() { vis.clear() ; } int try_to_insert(int rear) { int v = 0; for(int i = 0; i i ...
分类:
其他好文 时间:
2019-06-25 00:12:43
阅读次数:
106
"Fill" 典型的隐式图搜索,将三元组$(a,b,c)$看作结点,跑最短路算法。 用 $Dijkstra$ 过了,但用 $Bellman ford$ 算法就错了。。。很是无语。。。 借助对拍找到了一组$Dijkstra$对而$Bellman Ford$错的数据 $Bellman Ford$ 算法程 ...
分类:
其他好文 时间:
2018-11-02 01:58:00
阅读次数:
216
题意:给你n个房间,有许多灯的控制开关,i房间灯的开关在j房间,未开灯的房间不能进,i房间和j房间之间如果没有门,也不能从i进入到j,开始房间是1,并且灯是开着的,问你是否能够走到最后一个房间n,并且此时其他房间的灯都是关着的.如果存在多个解,输出操作步数最小的操作序列. 范围:n<=10, 解题思 ...
分类:
其他好文 时间:
2018-10-21 23:22:46
阅读次数:
392
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=599 题意: 补丁在修正bug时,有时也会引入新的bug。假定有n(n≤20)个潜在bug和m(m ...
分类:
其他好文 时间:
2018-08-24 23:43:57
阅读次数:
361
题目连接(vj):https://vjudge.net/problem/UVA-658 题意:补丁在修正 bug 时,有时也会引入新的 bug。假定有 n(n≤20)个潜在 bug 和 m(m≤100) 个补丁,每个补丁用两个长度为 n 的字符串表示,其中字符串的每个位置表示一个 bug。第一 个串 ...
分类:
其他好文 时间:
2018-04-24 23:25:07
阅读次数:
356
题目链接:http://codeforces.com/problemset/problem/463/D 题意: 给你k个1到n的排列,问你它们的LCS(最长公共子序列)是多长。 题解: 因为都是1到n的排列,即每个串中,1到n每个数字恰好出现一次。 将相同的数字之间相连,可以得到下面的样子(n = ...
分类:
其他好文 时间:
2018-01-08 21:05:07
阅读次数:
172
Jumping on Walls CodeForces - 198B 应该是一个隐式图的bfs,或者叫dp。 先是一个TLE的O(nklogn) 后来意识到了同样的位置,在较早的时间到过之后在较晚的时间再到那里一定不会比较早的时间更好,因此相同状态只需遍历一次,可以把复杂度优化到O(nlogn)(话 ...
分类:
其他好文 时间:
2017-10-12 10:09:33
阅读次数:
118