刚做了一个搜索的专题,没做这个专题时只懂得搜索的思想(当然简单的搜索题也可以一波打AC) 写这个是为了总结一下,实际上只求自己能看懂就行。
做专题之后对广搜的理解又深了一步,
多路搜索:
think : 每个源点开始搜索,期间用个辅助mapp 与map合作生效为真正的map,广搜最先到达的状态一定是最短路径,记录下该源点到每个状态的最短路径,然后找出每个源点都能到达的目的点的step,找出最小的即可。
eg: Find a way
回溯搜索:即 不仅可以找出最短路径,并且可以知道到这个路径的走法
think: 用father数组 根基这个数组的状态作为下标,存下父节点的状态即可
eg : H - Pots
抽象搜索:
毫无疑问 将抽象问题转化为易分析的问题
eg:M - 非常可乐
在搜索过程中 有许多可以简化的地方,简化代码 (熟练使用vis[][],dir[][])