dfs实际上就是若干个递归式连续使用,从而把所有情况全部遍历的方法

首先是递归式的连用,然后注意参数的选取以及变化就行了

1、参数一般有状态参数与开关参数

最简单的dfs就是每次选择只是改变自身状态(改变状态只需要将状态参数(如金币)改变掉就行了) 此时将若干种情况简单罗列,于递归式中改变状态参数的值即可

稍复杂的就是每次的状态会影响下一次的选择范围(如不能连续两次选择2这个数字),这时形参中就需要使用一个开关参数,把取2与不取2的情况分隔开

2、使dfs升华的是与for的连用,

普通dfs的步长一般是固定的,这也就导致某些选择的间距不同的问题不能被解决,

而在dfs中加入for之后能让dfs灵活地控制状态参数的步长(如冰球问题,遇到障碍之后才能改变方向,而不是每一步都能改变)

POJ冰球问题http://poj.org/bbs?top=342174&problem_id=3009

最新文章

  1. 简述jpg。Gif。png-8.png-24的区别,分别使用场景
  2. 郝斌C语言代码
  3. osg渲染数据高程文件
  4. Leetcode: Word Pattern II
  5. Uva - 11383 - Golden Tiger Claw
  6. 拥抱大家庭,nodejs走thrift
  7. Yii Framework2.0开发教程(4)在yii中定义全局变量
  8. Goldeneye.py网站压力测试工具2.1版源码
  9. 如何选择适合自己的CMS建站系统
  10. php、apache、nginx、线程、进程
  11. springBoot整合jpa
  12. html input file accept 上传文件类型限制格式 MIME 类型列表
  13. mariadb开启远程访问
  14. 深度图从ros数据类型转换成opencv数据类型
  15. 能用padding,margin解决的不要使用伪元素,能用背景解决的也不要用伪元素
  16. Antenna Placement POJ - 3020 (最小边集覆盖)
  17. (转载)CUDA、tensorflow与cuDNN的版本匹配问题
  18. The Annoying Bug
  19. tomcat+nginx+redis集群搭建并解决session共享问题。
  20. 2016-2017 ACM-ICPC, NEERC, Northern Subregional Contest Problem F. Format

热门文章

  1. js事件轮询机制
  2. ubuntu , 笔记本合上盖子时不关机的方法。
  3. [Java学习] Java类的基本运行顺序
  4. 缓存地图 ArcGIS ——Local compact and exploded tile cache layer for WPF API
  5. ArcGIS API for Silverlight/WPF 2.1学习笔记(一)——精简版
  6. codeforces 930b//Game with String// Codeforces Round #468 (Div. 1)
  7. Java网络编程和NIO详解开篇:Java网络编程基础
  8. UVA-10061 How many zero's and how many digits ? (数论)
  9. Oracle12c中多宿主环境(CDB&PDB)的数据库触发器(Database Trigger)
  10. C语言描述队列的实现及操作(数组实现)