随笔分类 -  数据结构 - 哈希表

摘要:题目大意:给定一个大小为 4 4 的棋盘,分别有 7 个黑子、7 个白子和 2 个空位构成,求出至少需要移动多少步,才能使得四个相同的棋子共线。 题解:显然每一种棋盘的局面都是一个状态,因此需要采用状态压缩的搜索。总共的局面最多有4e7种,并且所给的内存足够开下哈希表。 需要注意的是,数据中有很多不 阅读全文
posted @ 2018-11-09 00:47 shellpicker 阅读(211) 评论(0) 推荐(0)
摘要:代码如下 阅读全文
posted @ 2018-11-06 22:31 shellpicker 阅读(340) 评论(0) 推荐(0)
摘要:这是一道可以练习哈希表的模板题。关于哈希表的操作均有涉及。 哈希函数的选取是这道题的关键。这道题的关键字是一个长度为6的序列,并且序列与开始顺序、时钟顺序均无关。 因此,采用哈希函数$H[x]=\Sigma_{i=0}^5a[i]+\prod_{i=0}^5a[i]$,即:用加和乘的相加来进一步保证 阅读全文
posted @ 2018-10-23 19:08 shellpicker 阅读(127) 评论(0) 推荐(0)
摘要:哈希表是一种用空间来换取时间的高效桶式数据结构,一般可以在常数时间内回答对某个元素性质的询问。 一般在出现 对于每个x有多少个P(x)符合要求 这种情况时,经常用哈希表来存储x,同时x也称作关键字(key),这意味着对于每个x,都会对应一个符合条件的val值。 用途 1. 哈希判重 我们可以开一个$ 阅读全文
posted @ 2018-10-23 18:58 shellpicker 阅读(258) 评论(0) 推荐(0)