摘要:
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1247 题目大意: 给出一些单词,以EOF结束,看其中哪一个单词可以由其他两个单词组成,将其输出 解题思路: 将所有单词存入字典树中,每个单词拆成两部分查询是不是字典树中的单词。 此处是查询是不是单词, 阅读全文
摘要:
原理详见:https://www.cnblogs.com/TheRoadToTheGold/p/6290732.html 模板一: 输入字符串,查询是不是单词或者前缀 查询单词的时候,在插入时在最后一个节点的地方标记为单词,查询时返回最后节点是不是单词标记 统计前缀出现的次数: 由于字典树中字母是边 阅读全文
摘要:
题目链接: https://vjudge.net/problem/POJ-2503 题目大意: 就像查找一本字典,根据输入的条目和要查询的单词,给出查询结果(每个单词长度不超过10) 解题思路: map容器可以直接过,不过为了练习hash,写了个hash也可以过 阅读全文
摘要:
const int mod = 9973;//一般为靠近总数的素数 struct Hashtable { int x;//hash存的值 Hashtable * next; Hashtable() { next = 0; } }; Hashtable * Hash[mod]; void Hash_Insert(int x)//存x { ... 阅读全文
摘要:
题目链接: https://vjudge.net/problem/POJ-2002 题目大意: 有一堆平面散点集,任取四个点,求能组成正方形的不同组合方式有多少。 相同的四个点,不同顺序构成的正方形视为同一正方形。 解题思路: 直接四个点四个点地枚举肯定超时的,不可取。 普遍的做法是:先枚举两个点( 阅读全文