迭代加深搜索
Neo__Z
这个作者很懒,什么都没留下…
展开
-
bzoj1085 [SCOI2005]骑士精神 【迭代加深搜索】
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1085解题思路很容易想到广搜,但空间会超,而深搜又会超时,所以我们用迭代加深搜索,它比广搜慢,比深搜快,但空间和深搜一样,所以可以接受。估价函数least(v)表示从当前状态v到目标状态所需的最小步数,显然是还未归位的棋子数减一;首先枚举所需步数dep,再dfs,若step(v)+least(原创 2017-09-06 21:35:49 · 401 阅读 · 0 评论 -
bzoj2824 铁盘整理【迭代加深搜索】
解题思路:先把数组离散化。可以看出最多2n-2步可以排完(i从n到2,每次把第i大的数转到第一位,再转到第i位)。考虑迭代加深搜索,那如何制定估价函数呢?注意到翻转a[1]~a[i],只会改变a[i]与a[i+1]的差,而排好序的数列abs(a[i+1]-a[i])1,就至少要翻转一次,这样估价函数就出来了。#includeusing namespace std;in原创 2018-01-04 21:50:15 · 335 阅读 · 0 评论