
搜索
_duadua
这个作者很懒,什么都没留下…
展开
-
UVA - 1354 Mobile Computing: 枚举二叉树 位运算枚举子集,枚举子集的子集 回溯
题目点此跳转 There is a mysterious planet called Yaen, whose space is 2-dimensional. There are many beautiful stones on the planet, and the Yaen people love to collect them. They bring the stones back home原创 2017-07-19 14:27:10 · 684 阅读 · 0 评论 -
UVA - 10603 Fill:状态空间搜索
题目点此跳转 There are three jugs with a volume of a, b and c liters. (a, b, and c are positive integers not greater than 200). The first and the second jug are initially empty, while the third is compl原创 2017-07-21 20:35:10 · 353 阅读 · 0 评论 -
UVA - 1601 The Morning after Halloween : 状态空间搜索 坐标编号 双射 16进制编码
题目点此跳转 You are working for an amusement park as an operator of an obakeyashiki, or a haunted house, in which guests walk through narrow and dark corridors. The house is proud of their lively ghost原创 2017-07-24 14:20:36 · 540 阅读 · 0 评论 -
UVA - 12558 Egyptian Fractions (HARD version) : 埃及分数问题 IDA*
题目点此跳转 Given a fraction a/b, write it as a sum of different Egyptian fraction. For example, 2/3 = 1/2 + 1/6. There is one restriction though: there are k restricted integers that should not be used a原创 2017-07-24 19:42:21 · 658 阅读 · 0 评论 -
UVA - 11212 Editing a Book : IDA*
题目意思是你有一篇由n(2≤n≤9)个自然段组成的文章,希望将它们排列成1,2,…, n。可以用Ctrl+X(剪切) 和Ctrl+V(粘贴)快捷键来完成任务。每次可以剪切一段连续的自然段,粘贴时按照顺序粘贴。注意,剪贴板只有一个,所以不能连续剪切两次,只能剪切和粘贴交替。 例如,为了将{2,4,1,5,3,6}变为升序,可以剪切1将其放到2前,然后剪切3将其放到4前。再如,对于排列{3,4,5,1,2},只需一原创 2017-07-26 20:30:32 · 404 阅读 · 0 评论 -
UVA - 1343 The Rotation Game : IDA*
题目意思是:如图所示形状的棋盘上分别有8个1、2、3,要往A~H方向旋转棋盘,使中间8个方格数字相同。图(a)进行A操作后变为图(b),再进行C操作后变为图(c),这正是一个目标状态(因为中间8个方格数字相同)。要求旋转次数最少。如果有多解,操作序列的字典序应尽量小。 典型的状态空间搜索, 这里使用IDA*, h值使用中间8个方格出现最多的数字的出现次数. 这样每次操作最多会使h值增加1,所以当搜索深度ma原创 2017-07-27 09:26:15 · 419 阅读 · 0 评论 -
UVA - 1374 Power Calculus :IDA* 各种优化
题目意思是输入正整数n(1≤n≤1000),问最少需要几次乘除法可以从x得到xn ?例如,x31 需要6次:。计算过程中x的指数应当总是正整数(如x -3 =x/x4 是不允许的)。在 还是用IDA*, 将当前得到的指数集合作为状态, 转移就是指数的相加减, 但是不用枚举所有的指数相加减, 一种做法是每次用刚刚获得的那个数进行枚举其他的指数. 剪枝:d表示当前深度,maxd表示深度上限,则如果当前序列最大的数原创 2017-07-27 10:30:43 · 427 阅读 · 0 评论 -
入门经典_Chap07_题解总结:枚举, 回溯, 状态空间搜索, IDA*
总结 枚举:注意枚举的对象和规模. 对象主要有排列, 子集, 状态, 转移等; 规模在原则上是要尽量缩小的,为此有时可能需要分类枚举. 回溯:剪枝是灵魂, 同时注意避免不必要的判断. 状态空间搜索: 一道八数码问题说明一切 => 点此转到八数码http://blog.youkuaiyun.com/a27038/article/details/75645835 迭代加深(ID)或(IDA*)原创 2017-07-27 11:17:57 · 454 阅读 · 0 评论 -
POJ - 1077 Eight : 八数码 -- 哈唏 康托展开 双向bfs A* IDA*
前言做完这道题,感觉整个人都完整了。 这道题所能涉及到的知识点特别多,列举如下: STL判重 Hash判重 康托展开 双向bfs A* IDA* 每一种知识点分别对应不同的版本,下面的题解按照以上顺序给出各个版本。 另外有个比较好的博客,可以根据这个博客给出的顺序一步一步实现代码,再此感谢此大牛博主。 点此转到 -> 八数码的八境界http:/原创 2017-07-21 16:48:15 · 1050 阅读 · 4 评论