题目大意 n皇后问题 题解 轻微的剪枝就过了. HINT4不会写... 代码 ...
分类:
其他好文 时间:
2017-01-23 14:52:03
阅读次数:
151
题目地址:http://poj.org/problem?id=1190 一道很有趣的搜索题……主要是剪枝…… 我弄了5个剪枝: 1.当前剩余层数>=上层半径,剪掉 2.当前剩余层数>=上层高度,剪掉 3.体积<1,剪掉 4.体积<当前可能的最小体积(我用等差数列求和公式算的……也不知道对不对) 5. ...
分类:
其他好文 时间:
2017-01-20 19:09:05
阅读次数:
217
问题描述 n个数 取其中部分之和能否构成k dfs + 简单剪枝 ...
分类:
其他好文 时间:
2017-01-17 00:40:34
阅读次数:
202
第一节课主要讲了SubSet,因为每次开课例子差不多,所以老师对这些题的理解与把握是比较熟悉的, 上课直接手写代码 然后直接进行点评,这点是比较赞的 关于一些针对面试的东西,就不多说了, 我个人是比较赞同讲师的观点的,30-45分钟的时间, 如果是让面试者写比较难的算法是不现实的,除非是事先经过精心 ...
分类:
编程语言 时间:
2017-01-15 21:27:18
阅读次数:
247
这道题没有找到一条回路,所以不能跟1152一样用数组储存后输出。我采用的方法是DFS加剪枝,直接DFS搜索会超时,优化的方法是在搜索是优先走出度小的路径,比如move1和move2都可以走,但是如走了move1后下一步有7种方向可以走,而走了move2后有2种方向可以走,那我们就优先走move2,具 ...
分类:
其他好文 时间:
2017-01-07 11:04:14
阅读次数:
190
这道题嘛,莫名其妙地AC了。后来看了题解,说是move的顺序不同的话可能会导致超时,这时便需要剪枝,真是有趣。原来自己是误打误撞AC了,hhh。题解还有另一种解法是先把一条完整的路储存在数组里,输入i的时候,就从i位置起把数组循环输出一遍,真是666的解法呀,果然不能被传统的思路所局限了呀! ...
分类:
其他好文 时间:
2017-01-07 01:15:38
阅读次数:
224
http://acm.hdu.edu.cn/showproblem.php?pid=1010 题意:就是给出了一个迷宫,小狗必须经过指定的步数到达出口,并且每个格子只能走一次。 首先先来介绍一下奇偶性剪枝: 在这道题目中,如果使用剪枝的话,可以节省不少的时间。 在这道题目中,每次dfs循环时都可以判 ...
分类:
其他好文 时间:
2016-12-28 15:15:25
阅读次数:
163
扩展结点:当前结点。 活节点:扩展结点的所有儿子中,经过限界剪枝后剩下的儿子。 分支限界法: 分支:当前扩展结点一次性,产生所有儿子。 限界:在结点扩展的过程中,通过计算结点的上界或下界来大量剪掉树的不合格分支,从而提高搜索效率。 广度优先策略: 一开始,只有根结点是唯一的活结点。 一个活节点一旦成 ...
分类:
其他好文 时间:
2016-12-27 00:15:09
阅读次数:
164
题目链接:连连看 题意: 给出一张n*m的图,有q次询问,每次询问给出两个位置,问这两个位置是否能够相消 相消的条件: 1.两个位置可以用线相连且弯折度不超过2 2.两位置数字相同且不为0 分析: 用一个二维数组存储该位置的弯折度,注意剪枝顺序,详情见代码 一开始写dx[],dy[]的时候写成一维, ...
分类:
其他好文 时间:
2016-12-19 00:18:55
阅读次数:
177
题目链接:OX 题意 :给出一个3X3的黑白棋棋盘,棋盘上有若干黑白子,再给出下一个下的人,问下一个下的人能否赢 分析:考虑到只有39种状态,故用一个数保存目前棋盘的状态,记为value,再枚举空位DFS,每次 DFS先判该状态是否已到达(剪枝),再拆分状态用c[3][3]储存,判断是否有赢的状态, ...
分类:
其他好文 时间:
2016-12-17 02:23:39
阅读次数:
427