===搜索===
文章平均质量分 87
wJs9528-1
这个作者很懒,什么都没留下…
展开
-
Eight(South Central USA 1998)
DescriptionThe 15-puzzle has been around for over 100 years; even if you don't know it by that name, you've seen it. It is constructed with 15 sliding tiles, each with a number from 1 to 15 on it,原创 2015-07-09 20:50:16 · 1253 阅读 · 0 评论 -
HihoCoder 1233 Boxes(bfs打表)
题意:给出一列箱子,小箱子只能往大箱子上面放,问最少需要多少步使箱子严格升序排列题解: 离散化大小之后得到7种箱子,那么状态总数最多777^7种,直接预处理所有情况打表,由于每一个箱子都有唯一的坐标,直接以此为关键值得到一个十进制整数作为当前状态存储访问标记和答案。#include<cstring>#include<string>#include<iostream>#include<queu原创 2016-10-27 23:35:42 · 348 阅读 · 0 评论 -
HDU 5113 Black And White(搜索剪枝)
题意:给出n*m的格子,k种颜色及数量,现在向格子中填颜色,要求相邻的格子颜色不能相同,输出答案一层层向格子中填颜色,加上一个小剪枝:某种颜色的数量大于剩下的格子数的一半则回溯,因为此时无论怎么填都会有颜色相邻#include<cstring>#include<string>#include<iostream>#include<queue>#include<cstdio>#include<原创 2016-09-21 16:59:49 · 457 阅读 · 0 评论 -
HDU 3567 Eight II (搜索)
题意:给出两个状态的八数码,问输出第一个状态转移到第二个状态的满足以下条件的方案 1.步骤最少 2.字典序最小如果直接进行转移,有几个很明显的问题,一时间不足,二如果双向BFS字典序不好处理,但是由于这道题的特殊性,我们只需要从一个状态转移到另一个状态,假设第一个输入为初状态,可以归纳为九类:012345678,102345678,120345678,123045678,123405678,12原创 2016-08-26 13:38:40 · 777 阅读 · 0 评论 -
HDU 4474 Yet Another Multiple Problem(搜索剪枝)
题意:给出一个数n,找到n的倍数使这个数不包含m个数字(n*10+i)%a ,满足这个条件的数字一定是a的倍数,bfs一下,由于数字变大时只与上一次父节点的数字有关,那么直接记录不大于a的模数,进行剪枝#include<cstring>#include<cstdio>#include<iostream>#include<algorithm>#include<queue>using names原创 2016-08-24 10:28:33 · 425 阅读 · 0 评论 -
HDU 3095 Eleven puzzle(双向广度优先搜索)
Eleven puzzleTime Limit: 20000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 531 Accepted Submission(s): 135Problem DescriptionPartychen inven原创 2016-07-08 13:53:38 · 999 阅读 · 0 评论 -
HDU 4016 Magic Bitwise And Operation (暴搜)
题意:给出n个数,要求你在其中选k个数使 & 操作的结果最小分析:一开始看到这题,一位是状压dp乱搞什么的,一看就知道不是我的题,扔锅。。。好吧,一开始是贪心的想法,以最小的数为底贪心取出其他数,结果发现连样例都过不了,果断发现了一组会挂的数据0000111100001101111100这样就挂了、、比赛完后搜了一下,发现居然是暴搜!!主要的原创 2016-07-05 21:35:43 · 349 阅读 · 0 评论 -
HDU 1732 Push Box(BFS 拉链哈希)
HDU 1732 Push Box(BFS 拉链哈希)题意:给出,一张推箱子图,三个箱子,要求推到指定位置分析:主要是状态的分析,一张图中能够决定这张图的唯一状态的是箱子的位置和人的位置,那么在哈希的时候只需要对箱子坐标和人的坐标经行哈希,还是用拉链法哈希来处理这个过程。注意到只有四个坐标需要哈希,那么这里用多维数组bool vis[8][8][8][8][8][8][8][8]去标记状态也是可行的。原创 2016-07-11 10:29:50 · 614 阅读 · 0 评论 -
POJ 2946 The Warehouse(BFS单向搜索 手写拉链哈希)
HDU 3946The WarehouseTime Limit: 1000MSDescriptionSecret Agent Θ- 7 has found the secret weapon warehouse of the mad scientist Dr. Matroid. The warehouse is full of large boxes (possibly with deadly weapons inside the boxes). While inspecting the war原创 2016-07-11 08:49:36 · 892 阅读 · 0 评论 -
HDU 2364 Escape (多维数组标记状态bfs)
题意:一个人从迷宫中,每次遇到岔路口一定转弯,除非路径唯一,不能走回头路,问最少花多少步逃出。分析:对于每一个点来说都考虑四种方向状态记录到达该点时的方向和状态,以此为基础进行bfs代码有些挫,有多余部分,未修改#include#include#include#include#include#include#include#include#include#in原创 2016-07-09 21:53:00 · 669 阅读 · 0 评论 -
HDU 1401 Solitaire(双向广度优先搜索)
题意:给出8*8各自中的4个棋子和棋子的移动规则,只能移动一个或者跳一个,问是否能从一个状态转移到另一个状态分析:看到题目发现初始状态和终止状态已经都给出了,保险起见,就直接用双向bfs做吧,4个点通过坐标映射成数值取状态,没什么坑点。#include#include#include#include#include#include#include#include#i原创 2016-07-09 21:47:32 · 415 阅读 · 0 评论 -
ZOJ 3946 Highway Project(spfa最短路+记忆化搜索)
Highway ProjectTime Limit: 2 Seconds Memory Limit: 65536 KB Edward, the emperor of the Marjar Empire, wants to build some bidirectional highways so that he can reach other cities from t原创 2016-04-23 23:59:32 · 671 阅读 · 0 评论 -
hdu 5336 XYZ and Drops
XYZ and DropsTime Limit: 3000/1500 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1126 Accepted Submission(s): 333Problem DescriptionXYZ is play原创 2015-08-02 09:28:36 · 291 阅读 · 0 评论 -
Sticks(Central Europe 1995)
DescriptionGeorge took sticks of the same length and cut them randomly until all parts became at most 50 units long. Now he wants to return sticks to the original state, but he forgot how many sti原创 2015-07-09 21:04:23 · 1369 阅读 · 0 评论 -
HDU 5025 Saving Tang Monk (状压搜索)
题意:地图上K开始按照1~m的顺序取完所有钥匙到达T的最小步数,如果遇到step+1,再次遇到不加 题解:以一个思维状态数组表示当前状态是否被访问过,四维唯别为,x,y坐标维,钥匙状态,S状态#include<cstring>#include<string>#include<iostream>#include<queue>#include<cstdio>#include<algorith原创 2016-11-09 22:16:39 · 496 阅读 · 0 评论