
A*
Lynstery
一只蒟蒻
展开
-
[A*] 1975: [Sdoi2010]魔法猪学院
题意给出n个点的有向带边权的图。求最多有几条不同的从1到n的路径,使这些路径长度加和小于等于给定的一个值allw。 题解显然选的路径是前k短路。 对于前k短路的问题,我们可以用A∗A^*来优化暴力搜索。 我们知道,当A∗A^*的估价函数h(x)=实际需要的代价时,每一步都是最优的。这里实际上我们是可以做到这一点的,用反向建图的技巧即可求出每个点到终点n的实际距离,并把它作为n。显然如果不干掉访问原创 2017-04-22 19:38:41 · 560 阅读 · 0 评论 -
[IDA*] BZOJ1085: [SCOI2005]骑士精神
题意给定一个初始状态,用最少步数变成如下图案,如果超过15步输出-1。 题解IDA*经典题。 显然是个搜索题,看到”超过15步输出-1”,就能想到迭代加深搞,IDA*特别适合这题。 估价函数很简单,统计一下几个位置上不是正确的颜色即可。 如果把中间是否是空白也加入统计的话,要注意估价结果可能会大于实际代价(最后一步之前h=2>1),所以需要减一。#include<cstdio>#incl原创 2017-05-21 19:08:25 · 502 阅读 · 0 评论