the summary of search

总况:搜索专题在贪心后做了快一个月了,虽然可以说掌握了其基本方法,但我不得不承认搜索比贪心的内容多太多,还有很多变形不是很熟悉。搜索我认为本质是暴力法的一种,只是进行了某些优化,当然也可以是实现某种功能的形式,因此它的变形就比较多了吧。而且大部分题bfs和dfs都能实现,但要选最优,这个能力很重要。

掌握的知识:1二分三分法:通过计算机快速的运算,对答案的迭代,通过一次一次的精确,达到近似最优的结果。

                         核心:找到如何精确的标准

                         解题类型:通常求最优值的算法

ps:一般有数学方法可以解决,但是需要很强大的数学功底才能解决,否者很浪费时间。

                        2bfs 广度优先算法是列举每层所有可能的情况,形式可以用队列的形式来实现

                      核心:将初始态插入列队,进行搜索判断,最后得到解。

                       解题类型:通常是求最短路径。

                    ps:减枝的方法除了条件外还有用优先队列的方法。

                      3dfs  深度优先每次都探索到最终态,但是效率可能不是很高,形式是一迭代函数的形式进行,但是需要进行初始化以便进行回溯。

                      核心:1函数递归调用2初始化

                      ps;搜索可以实现某些其他无法常规表达的数学表达式,如容斥原理的话可以用dfs的形式进行表示。

搜索的其他条件:1边界 

                                  2方向数组

                                   3出口   可以减枝        有些位置可以位压缩

      由于搜索实在是很庞大,所以说我觉的只是学了点皮毛,即使只做了20道,我想停下了好好看看那些搜索的变形,如位运算进行状态压缩和如何优化搜索算法还有双向搜索,虽然原理大部分都知道,但仍然存在眼高手低的现象,一写就错,调不过或无名wa,可能做的题少的缘故的吧,不要灰心,好好加油,坚持就是胜利。



你可能感兴趣的:(the summary of search)