第五讲 搜索和动态规划ppt课件.ppt
《第五讲 搜索和动态规划ppt课件.ppt》由会员分享,可在线阅读,更多相关《第五讲 搜索和动态规划ppt课件.ppt(54页珍藏版)》请在三一办公上搜索。
1、搜索与动态规划基础,深度优先搜索,深度优先搜索属于图算法的一种,英文缩写为DFS即Depth First Search.其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次.递归,回溯,暴力。就像走迷宫,走遍任何一条路径,碰到死路。走不了了,就回头找到最近的分叉路,走另一条。以此类推,直到找到出口。所以相当暴力,基本上比赛不会出太赤裸裸的暴力搜索。用暴力搜索的要小心的估算复杂度,不轻易写。,递归,#includeusing namespace std;int f(int x)if(xx)coutf(x)endl;return 0;,树,搜索到有的点,当树层数稍微
2、多时,指数级增长复杂度.,#,!,(,(,#,),*,$,),!,(,*,#,(,条件剪枝!,递归:回溯方法,例:皇后问题,3.回溯方法,(),(),3.回溯方法,(),(),(1,1),Q,3.回溯方法,(),(),(1,1),(1,1)(2,3),Q,Q,3.回溯方法,(),(),(1,1),(1,1)(2,3),Q,3.回溯方法,(),(),(1,1),(1,1)(2,3),(1,1)(2,4),Q,Q,3.回溯方法,(),(),(1,1),(1,1)(2,3),(1,1)(2,4),(1,1)(2,4)(3.2),Q,Q,Q,3.回溯方法,(),(),(1,1),(1,1)(2,3),
3、(1,1)(2,4),(1,1)(2,4)(3.2),Q,Q,3.回溯方法,(),(),(1,1),(1,1)(2,3),(1,1)(2,4),(1,1)(2,4)(3.2),Q,3.回溯方法,(),(),(1,1),(1,1)(2,3),(1,1)(2,4),(1,1)(2,4)(3.2),3.回溯方法,(),(),(1,1),(1,1)(2,3),(1,1)(2,4),(1,1)(2,4)(3.2),(1,2),3.回溯方法,(),(),(1,1),(1,1)(2,3),(1,1)(2,4),(1,1)(2,4)(3.2),(1,2),(1,2)(2,4),3.回溯方法,(),(),(1,
4、1),(1,1)(2,3),(1,1)(2,4),(1,1)(2,4)(3.2),(1,2),(1,2)(2,4),(1,2)(2,4)(3,1),3.回溯方法,(),(),(1,1),(1,1)(2,3),(1,1)(2,4),(1,1)(2,4)(3.2),(1,2),(1,2)(2,4),(1,2)(2,4)(3,1),(1,2)(2,4)(3,1)(4,3),3.回溯方法,递归的思想:,当前状态,目标状态g,Hdu 2510 符号三角形http:/,符号三角形的 第1行有n个由“+”和”-“组成的符号,以后每行符号比上行少1个,2个同号下面是”+“,2个异 号下面是”-“。计算有多少个
5、不同的符号三角形,使其所含”+“和”-“的个数相同。n=7时的1个符号三角形如下:+-+-+-+-+-+-+-+,怎么做,递归:dfs(int row,int val,int plus,int min);建立一个数组,暴力填写+和-,最后判断是否合法。合法就num+。这个思路很容易想到,想到后马上看数据范围,n=24,貌似不大。暴力写写,挂了。打表吧。还是不行,跑不出结果怎么打表,囧剪枝!计算出一共会有多少个+,这样一旦+或者-的数量超过这个数,就可以回溯了。,n=24,#include using namespace std;int a=0,0,0,4,6,0,0,12,40,0,0,171
6、,410,0,0,1896,5160,0,0,32757,59984,0,0,431095,822229;int main()int n;while(cinn,n)coutnanendl;return 0;,Pku 1088 滑雪,http:/x,int y)如果dpxy=-1 进行计算,不然返回dpxy计算时,dpxy=max(dfs(x-1,y),dfs(x+1,y),dfs(x,y-1),dfs(x,y+1)+1;(如果周围比它小的话),推荐题目:,Foj:140817341543,广度优先搜索bfsbreadth-first search,如果*想碰到,需要多少步。DFS写写看吧。Bf
7、s用队列。,Struct nodeInt x;Int y;Int num;Bool flag100100;,Hdu 3220 Alices Cube,上海赛区的题目,清华10+分钟过的题目,全场100+多队,几乎所有的队伍都过的题目,但是做出来的速度却相差很多。40分钟内写出来,并一次ac的。Hdu 3220,会的可以去写写。Bfs+位压缩。,http:/,题目大意:,给定一个几何体,每个点都有一个值,0或者1,每次可以把线段相邻的两个点的值互换,问需要几步,可以让1-8号节点是0,而9到16号为1,做法,首先,肯定要很认真的看清哪些点是相邻的,为了提高ac率,要检查两三遍。比赛场上有人没用位
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五讲 搜索和动态规划ppt课件 第五 搜索 动态 规划 ppt 课件
链接地址:https://www.31ppt.com/p-2133688.html