hash
文章平均质量分 85
WA是一笔财富
这个作者很懒,什么都没留下…
展开
-
HDU 3567 Eight II 预处理+bfs+hash
传送门:HDU3567 题意:经典八数码问题,将八数码从状态A转化到状态B,问最短且字典序最小的解法。 思路:先说说我自己吧,我是刚做完了POJ1077就来做这个题,当时感觉这不是一样的么,改个bfs结束条件不就完事了,然后就一发wa。。看题解才发现A*算法不能保证输出结果是字典序最小的,仔细想想,好像确实是,因为A*中F=G+H的等式是为了更快的求得解,我们每次从优先队列中取出来的状态是F值原创 2017-01-23 19:36:52 · 1148 阅读 · 0 评论 -
HDU 1067 Gap bfs+hash
传送门:HDU1067 题意:给出表如第一个图,给出每个数,共有28个数,首先要将11,21,31,41放到前面去如第二个图,然后每次可以挑选一个空位把某个数放在此位置,但是要保证此数恰好是空位左边的数的后一个数,比如空位左边的数是42,则只能把43移到空位去。如果是47的话是没有后一个数的。 思路:将32个数做成个字符串然后hash记录,然后bfs搜索。估计用map应该也可以。 代码:原创 2017-01-23 21:31:53 · 378 阅读 · 0 评论 -
POJ 1077 八数码问题
传送门:POJ1077 题意:经典八数码问题求解。建议做之前先看一下http://www.cnblogs.com/goodness/archive/2010/05/04/1727141.html,八数码问题的八种境界,不过个人感觉其中的hash部分讲的有问题,至少和代码中的hash方法不一样,不过也有可能是我理解的不到位,不管怎样,以代码为准吧,而且这篇博客其他部分写的还挺好的。 我这里用的是原创 2017-01-23 18:09:31 · 560 阅读 · 0 评论 -
Double Profiles CodeForces - 154C 哈希
传送门:CodeForces - 154C 题意: 给一个无向图,定义pair(u, v),使得任意k(k != u, v),k到u,v都有边或者k到u,v都无边 求pair的数目。 (u,v)和(v,u)算两个不同的pair。 思路: 对点u,让它的相邻点集为W(u),对于pair(u, v) ,可以分为两类 if (u, v)存在直接相连的边 则 W(u) - v =原创 2017-04-22 11:23:55 · 292 阅读 · 0 评论 -
山理工校赛 E.bLue的二叉树 dfs序+字符串匹配(KMP、哈希)
传送门:bLue的二叉树 思路:求第一棵树的子树有多少个和第二棵树相同,刚看题的时候还看错了,以为是两棵树的子树有多少个相同的,想都没想就写了个哈希,写完发现好像不太对,我是在dfs的过程中哈希的,但是连样例都过不了,就开始怀疑自己是不是子树的定义搞错了。。然后就凌乱了。。 正解:将两棵树按dfs序做成字符串,注意空节点也要用一个不会出现在其他节点的值加到字符串当中。做出字符串来后再做个字符串原创 2017-06-05 11:48:33 · 275 阅读 · 0 评论 -
HDU 4886 TIANKENG’s restaurant(Ⅱ) 思维+字符串哈希
传送门:HDU4886 题意:给定字符串,问字符串的子串中没出现过的最短且字典序最小的串是哪个(只能由A-H组成)。 思路:首先要能想到没出现过的串最长可能是多长,这里我们取6或者7都行,因为假如说长度与为6的话,字符串有8^6=262144中情况,如果要这些串都出现的话总串大约就要1500000长度(实际长度肯定比这个少,因为会有首尾重叠的情况,但是就本题而言,可能没有极限数据,长度为6足够原创 2017-06-10 12:48:15 · 308 阅读 · 0 评论 -
HDU 6171 Admiral 双向搜索(meet in the middle) + 哈希
传送门:HDU6171 题意:给你一个高度为6的数塔,问最少多少步能走成如下状态。 每次只能将值为0的点与其左上方,上方,下方,右下方四个方向的一个点进行交换。 0 1 1 2 2 2 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 大于20步可以直接输出“too difficult” 思路:比赛的时候智障的想了一个多少小时的A* 和 IDA* ,还原创 2017-08-24 21:54:23 · 859 阅读 · 5 评论