
hash
进修中的涵涵涵
acm退役选手
acm icpc 金
dota爱好者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
UVA 10085 The most distant state (hash隐式图搜索)
题意:给出初始图找出可达目标图,步数最多的一个,并输出路径。 这题很像八数码格。情况有9!种。 用康托展开来进行哈希(哈希值等于当前数是未出现数字中第几个,然后乘上(n-i)!) 比如 1 3 2 0 4 那么hash=1*4!+2*3!+1*2!+0*1!+0*0!; 然后进行bfs,用一个vis数组标记已经出现过的状态(hash值) 那么队列种最后留下来的肯定就是步数最多的了。 A原创 2017-02-24 00:29:22 · 485 阅读 · 0 评论 -
UVA - 10282 Babelfish (字符串hash)
字符串hash模板题 字符串hash模板int get_hash(char *s){ int seed=131;//可以用其他代替 int hash=0; for(int i=0;s[i]!='\0';i++) { hash=hash*seed+(s[i]-'a'); } return (hash & 0x7FFFFFFF)%mod原创 2017-03-03 17:32:38 · 452 阅读 · 0 评论 -
UVA - 10391 Compound Words (字符串hash)
题意:找出由两个字符串拼起来的字符串输出 暴力搜索切点分开字符串,查找有没有两断都存在的 通过字符串hash散列 AC代码#include<stdio.h>#include<string.h>char a[120500][20];int head[120500];int next1[120500];int get_hash(char *s){ int hash=0;原创 2017-03-03 17:37:38 · 496 阅读 · 0 评论 -
字符串哈希(Hash模板)
struct Hash{ int hash[50500]; int head[50500]; int next[50500]; int mod=10007; char mp[50500][20]; void init() { memset(hash,0,sizeof(hash)); memset(head,-1,sizeof(head)); memset(next,-1原创 2017-06-20 21:20:47 · 646 阅读 · 0 评论