搜索算法
搜索算法是利用计算机高性能来有目的的穷举一个问题的部分或所有的可能情况 从而获得问题的解决
例题1: 逃离迷宫1 NKOJ P3170
F(N,M) 知道结果是1
F(N,M-1)结果是1
∴但凡能往下走 都往下走 不行的往右走
(先把最终代码写出来)
我们把刚才题目中的图片放大 发现红色那一坨 先上去 又下来 卡住了 所以说(抄代码的小心哦)
所以,解决这种问题 最好 用宽搜(bushi)
当然也不是说深搜不行(虽然今天学习的是深搜)
抄代码的 这个也不行!
也会卡住
稍作优化 看一看 这是有效路线还是无效路线?
搜索 例题3:分数 NKOJ1072
网页链接:http://oi.nks.edu.cn/zh/Problem/Details?cid=2385&tid=E
将条件列出来 tot总和已知
- X;
- tot-x;
枚举:
1 | √ | √ | × |
2 | × | √ | √ |
3 | × | × | × |
4 | × | × | × |
…… |
看一下代码:
下一个例题:四色问题 NKOK 2165
登录 | CQNKhttp://oi.nks.edu.cn/zh/Problem/Details?cid=2385&tid=D
为了不把自己玩死 我们应该提前规划好
我们要提前规划他们的“邻里关系”
国家1 | 国家2 | 国家3 | 国家4 | 国家5 | 国家6 | 国家7 |
1 | 1 | 1 | 1 | 1 | 1 | 1 |
2 | 2 | 2 | 2 | 2 | 2 | 2 |
3 | 3 | 3 | 3 | 3 | 3 | 3 |
4 | 4 | 4 | 4 | 4 | 4 | 4 |
at the end