解题思路: 1.简单分析我们可以发现,当n=9时,最多只需要剪切八次即可完成排序。并且全排列数量9!=362880不算很大,所以我们可以将当前排列作为状态,转化成十进制数存入set以便判重。然后逐渐增加解答树的深度(搜索最大深度)进行迭代加深搜索。 2.构造启发函数。本题可以定义一个后继错数:当前状
分类:
其他好文 时间:
2016-03-20 13:07:13
阅读次数:
273
题目大意:在一个国际象棋盘上放置皇后,使得目标全部被占领,求最少的皇后个数。题目分析:迭代加深搜索,否则超时。小技巧:用vis[0][r]、vis[1][c]、vis[2][r+c]、vis[c-r+N]分别标志(r,c)位置相对应的行、列、主、副对角线有没有被占领(详见《入门经典(第2版)》P19...
分类:
其他好文 时间:
2015-09-20 23:50:39
阅读次数:
166
题目大意:经典的埃及分数问题。代码如下:# include# include# include# includeusing namespace std;# define LL long longint num[5],a,b,k;LL ans[10000],v[10000];LL gcd(LL a,L...
分类:
其他好文 时间:
2015-09-20 22:00:14
阅读次数:
161
迭代加深搜索的实现以及哈希表在ID中应用应当注意的问题...
分类:
其他好文 时间:
2015-08-25 16:45:26
阅读次数:
935
题目大意:在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使题目简单,设目标状态为123804765),找到一种最少步骤的移动方法,实现从初始布局到目标布局的转变。
思路:使用IDA*算法。估价函数为现在棋盘与目标棋盘的对应元素不同的个数。剪枝:若当前深度加上...
分类:
其他好文 时间:
2015-08-20 19:03:46
阅读次数:
159
题目描述 Description
在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空位上。
给定一个初始的棋盘,怎样才能经过移动变成如下目标棋盘:
为了体...
分类:
其他好文 时间:
2015-08-18 19:22:04
阅读次数:
257
题目要求乘除法的最少次数,其实就是一个数组中一开始只有一个数:1 ,每次可以从数组中取两个数(可以取同一个数)相加生成一个新数加如数组 。
那么显然这是一个迭代加深搜索,从小到大枚举深度上限 。
为了降低时间复杂度,我们要尽量的减少迭代次数,所以我们优先做加法,并且优先将最大的两个数相加,这样可以最快的接近目标 。
当然,有一个很显然的剪枝: 当每次取最大的两个数相加仍然小于n时要剪枝 。因...
分类:
其他好文 时间:
2015-08-10 22:23:41
阅读次数:
117
题目链接:点击打开链接
题目描述:
在古埃及,人们使用单位分数的和(形如1/a的, a是自然数)表示一切有理数。如:2/3=1/2+1/6,但不允许2/3=1/3+1/3,因为加数中有相同的。对于一个分数a/b,表示方法有很多种,但是哪种最好呢?首先,加数少的比加数多的好,其次,加数个数相同的,最小的分数越大越好。
如:19/45=1/3 + 1/12 + 1/180
...
分类:
其他好文 时间:
2015-08-10 22:09:13
阅读次数:
182
迭代加深搜索(IDDFS)的思想
迭代加深搜索一般用来求解状态树“非常深”,甚至深度可能趋于无穷,但是“目标状态浅”的问题。如果用普通的DFS去求解,往往效率不够高。此时我们可以对DFS进行一些改进。最直观的一种办法是增加一个搜索的最大深度maxd,一般是从1开始。每次搜索都要在maxd深度之内进行,如果没有找到解,就继续增大maxd,直到成功找到解,然后break。
如下图所示,如果...
分类:
其他好文 时间:
2015-08-09 17:07:36
阅读次数:
172
今天做的福州赛区区域赛的题目重现,一整场都在抠这道题仍然无法AC,时间卡的很紧,不过其实也是自己的搜索学的实在太差,紫书上刷的最少的就是第七章的题 。
我一开始就看出了这道题需要IDA*算法,但是昨天才看的还没能深入理解,通过赛后补这道题,感觉整体思路有了一个新的突破 。
IDA*算法就是迭代加深搜索和A*算法的结合,迭代加深搜索非常简单,就是从小到大枚举深度上限,适合求解深度未知的或者像该题...
分类:
编程语言 时间:
2015-08-08 09:11:28
阅读次数:
117