DFS
文章平均质量分 61
iYUNDI
iYUNDI
展开
-
[hoj]Red and Black
经典搜索题。自己写了个DFS非递归实现。其实还是递归实现比较科学。BFS用函数也比较好。主要是return方便,递归是进入方便。总之都是停止多重循环中的某一个状态。/*This Code is Submitted by Iris for Problem 1797 at 2013-07-24 13:31:26*///DFS Stack#include #include using原创 2013-07-24 23:57:03 · 667 阅读 · 0 评论 -
[HDU1017]Exact cover[DLX][Dancing Links详解][注释例程学习法]
Dancing Links解决Exact Cover问题.用到了循环双向十字链表.论文一知半解地看了一遍,搜出一篇AC的源码,用注释的方法帮助理解.详解如下... .../**总结:DLX使用了基于静态数组的循环双向十字链表的"易恢复性",及其储存稀疏矩阵的简便性,能较好地解决精确覆盖问题.**/原创 2013-07-25 21:21:57 · 996 阅读 · 0 评论 -
[poj 3321]Apple Tree[模拟DFS][时间戳][线段树]
根据DFS建立线段树的题.详详详解~~~原创 2013-08-02 16:39:43 · 1099 阅读 · 0 评论 -
[poj 1014]Dividing的DFS解法解读和DP解法
转载来源:http://blog.csdn.net/lyy289065406/article/details/6661449这道题比较特殊,用DFS也是对的,而且可以进行优化,即使直接n[i]--也是对的.解释见注释.//Memory Time //440K 16MS /*DFS*/ #include using namespace std;转载 2013-07-28 17:16:48 · 1214 阅读 · 0 评论 -
[poj 2411]Mondriaan's Dream[状态压缩DP]
题意:h*w的区域铺上1*2的砖,问有几种铺法.解法一一行一行铺,判断后一行能否从前一行转移而来.解法二(状态压缩DP+DFS记忆化搜索)因为solve是递归的,所以是从最后一行往前填的.state中的1表示(横放或竖放的)被占据的格子,它的前一行对应状态i,i中的1表示(横放或竖放)被占据的格子.0表示其下state上的1为竖放(也就是说按照时间顺序,填i的时候该位置保留为0,填state的时候该0变为1).这样dp[state][n]表示第n行为state状态,1~n-1行填满的方案数.原创 2013-08-10 19:52:09 · 992 阅读 · 0 评论