![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hash
文章平均质量分 77
sdj222555
这个作者很懒,什么都没留下…
展开
-
POJ 1186 hash 线性探测再散列
一直以来我都觉得线性探测再散列这个方法一定很低效结果碰到今天这题之后我惊奇的发现 链表居然被线性探测再散列秒杀了这个hash方法是将大数取模,放到一个位置上,如果这个位置被占用了,就往后移1格,再被占再移动知道能 放到某个位置上。详细见数据结构书真是太神奇了懒得写DFS 直接for的所以代码看起来比较多,但是也比较直观了#include #include #i原创 2012-08-18 14:19:00 · 1358 阅读 · 0 评论 -
POJ 3349 Snowflake Snow Snowflakes hash表
题目大意是给出n组序列,判断其中是否有同构的同构的定义是,若一个序列中,从某个位置往左读,到头后从最后边接着往左读到起点,或者同理往右读,能够跟另一个序列一样,就表示两个序列是同构的。那么,由于n是巨大的,常用的做法就是哈希表了将序列映射成某个值,然后判断。由于序列中存在一些较大的值,使得哈希的难度增大,这里我们采用的方法是,先使用一个比较容易想出来的哈希操作,然后对于哈希值相同的原创 2012-02-07 17:21:29 · 864 阅读 · 0 评论 -
POJ 1840 Eps 简单Hash
a1x13+ a2x23+ a3x33+ a4x43+ a5x53=0 对于这个等式,给出了a1到a5,最后求有多少组X1---X5满足这个等式,其中所有的Xi都是不能等于0的。然后每个Xi的范围是-50到50。这个数据范围是能hash的保证。分成两组,前3个X是一组,后两个一组。/*ID: sdj22251PROG: LANG: C++*/#include原创 2012-04-03 14:04:46 · 1066 阅读 · 0 评论 -
POJ 1077 Eight A*算法 IDA*算法 康拓展开
这道题是一道经典的搜索题第一次做A*算法的题目这道题需要知道的,第一是怎样把全排列转换为数字,第二是h函数的设计全排列转化为数字用到的是康托展开,跟逆序数有关,这是一个比较经典的转换。转换成数字的目的就是为了状态的判重,所以A*算法的空间需求总是指数级的h函数用的是曼哈顿距离的总和,然后f=g+h,g函数就是从初始状态到现在状态花费的步骤数了。然后使用优先队列,进行BFS。原创 2012-02-04 20:47:07 · 2829 阅读 · 1 评论 -
POJ 1200 字符串hash
这题没说n的范围。不过根据推测应该是不会很大,否则肯定会TLE不过这样它仍是一道好题,题的好坏跟难易度没有太大的关系。关键是想法很重要这题巧妙在将字符串看做一个nc进制的数,很显然,如果两个数在nc进制下不同,在十进制下也是不同的 然后根据这个转成10进制来搞就行了#include #include #include #include #include #include原创 2012-08-18 15:11:53 · 1051 阅读 · 0 评论 -
POJ 2946 字符串hash + BFS
题意就是给出一个地图。有一个起点,一个终点我们要从起点到终点去。但是地上有毒液,不能走,不过有一些箱子可以供你跳来跳去。这些箱子的高度是2,3或者4然后每次跳一步只能去4个方向相邻坐标的箱子。箱子之间不用管高度是多少,只要相邻了就可以跳上去而且箱子可以放倒。也是4个方向,放倒后的长度就是之前的高度,但是放倒一次后就不能再放倒了。我们可以规定此时的高度为1。而且放倒必须是有确切的那么多空原创 2012-09-14 18:53:46 · 1320 阅读 · 0 评论 -
POJ 3690 Constellations 简单hash
题目大意就是给出一个n * m的矩阵,矩阵中只有一些*或者0n 然后有t (t p,q是提前固定的数值。问这些询问中能是大矩阵的子矩阵的有几个由于p , q都小于50,而且矩阵中只有两个字符不由得让我们联想到了,把每一行给hash成一个long long 的二进制数首先,我们把大矩阵每个位置为起点的q长度的串hash成二进制数都存起来每次询问的时候,把小矩阵原创 2012-09-16 10:53:47 · 2331 阅读 · 0 评论