此题为小白书暴力求解法隐式图搜索的训练参考 题目链接 http://acm.hust.edu.cn/vjudge/problem/19527 解题思路 因为要求最小倒水量,所以不能把重复的节点都去掉,要把倒水量比较小的节点也加进去。 可以建立一个water数组,water[x]表示达到x水量的最小倒 ...
分类:
其他好文 时间:
2016-08-13 21:00:38
阅读次数:
173
题目大意:经典的倒水问题。给你三个瓶子,体积为a,b,c。
刚开始a,b是空的,c是满的,现在要求你到出体积为d的水。倒水的规则为,要么倒水方为空,要么接水方满
问倒到容量为d时,倒水的最小体积是多少,如果不能倒出体积为d的水,找出d’ < d,最接近d的d’和最小的体积解题思路:刚才时以为直接bfs,用vis标记一下就结束了,结果WA了。为什么会WA,因为我这样求的是倒水次数最少的,而不是倒水...
分类:
其他好文 时间:
2015-08-21 00:11:19
阅读次数:
160
1.题目描述:点击打开链接
2.解题思路:本题是一道隐式图的搜索题目。一般来说,这类题目首先要定义状态,接下来是弄清楚状态如何转移,以及状态如何判重,如何判断当前状态是否和目标状态相同。至于求解最短路就是常用的BFS即可。接下来我们逐一展开讨论。
1.状态的定义:看到这道题,猛一下会想着把每个字符分别用01表示,然后看成二进制码进行状态压缩,这个状态定义虽然可以,但是显然,状态过于精确...
分类:
其他好文 时间:
2015-08-19 14:59:45
阅读次数:
220
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
struct node{
int x,y;
};
int a,b,tar;
node prestate[1010][1010];
int ope[1010...
分类:
其他好文 时间:
2015-04-25 09:24:56
阅读次数:
152
题意:有3个有一定容量的杯子,给定一个水的量。问是否能让一个杯子装这个给定容量的水,以及所需要倒来倒去的水的最小量。如果不能,则能倒出的比给定容量小但最接近的量,以及所需要进行倒的水的最小量。
思路:虽然是隐式图搜索的问题,其实和之前数据结构基础章节的图的题很类似,就是一个状态转换,然后深搜或宽搜。只不过这里状态的变换不是像之前那样是固定的,可以用一个多维数组来表示;这里的变换是倒水后三个杯子的...
分类:
其他好文 时间:
2015-03-18 14:07:28
阅读次数:
120
题目:hdoj 1226 超级密码
分析:这题属于隐式图搜索,状态不是很明显,需要自己建立。
其实搜索说白了就是暴力。
这个题目就是,首先对给出的可以组成的所有的数依次枚举,长度从小到大。
比如第一组样例,因为0不能出现在首位,那么我们枚举首位为1 和 7 看看漫步满足,
满足的话枚举第二位10 11 17 以及 70 71 77 顺便保存他们取余 n 之后的值,这样就可以剪枝...
分类:
其他好文 时间:
2014-10-19 15:43:02
阅读次数:
236
题目:HDU5012Dice(隐式图搜索)
题目大意:给你一个两个晒子...
分类:
其他好文 时间:
2014-09-15 17:47:09
阅读次数:
161
题目链接:zoj 3814 Sawtooth Puzzle
题目大意:给定一个9宫拼图,每次可以挑选一个位置顺时针旋转,和普通拼图不一样的是每块拼图周围可能有齿转动一个可能导致全部拼图转变。
解题思路:隐式图搜索,9块拼图最多49个状态,对于每个状态枚举转动的位置,考虑转动的状态。一开始转移是用bfs写的,但是由于频繁申请队列,然后时间爆了
#include
#include
#...
分类:
其他好文 时间:
2014-09-10 12:32:50
阅读次数:
256
题目链接:uva 279 - Spin
题目大意:进行一个游戏,给出初始状态,要求问说最少多少步可以让所有的环移动出来。移动规则如图所示。
解题思路:一开始以为是隐式图搜索,写完TLE了。后来发现这道题和汉诺塔是一个思路,都是采取最优策略,并且说左边环的状态不会影响右边环。所以dp[i]表示从右边数,第i个为v,其他均为h的步数(由全h变换至)。
模拟最优过程有dp[i]=dp[i?...
分类:
其他好文 时间:
2014-07-23 13:04:56
阅读次数:
268