poj 1200 Crazy Search(字符串hash)
2015-03-21 22:27
387 查看
这道题主要的理解在于输入的最后一句话
意思是nc^n<=16000000
酱紫,就可以用n位nc进制来做了。。
附上代码喵:
意思是nc^n<=16000000
酱紫,就可以用n位nc进制来做了。。
附上代码喵:
#include<stdio.h> #include<string.h> const int maxn=1010000; #define MIN(a,b) a<b?a:b typedef long long ll; char s[maxn]; int vis[300]; bool hash[16000005]; int main() { int n,nc; scanf("%d%d%s",&n,&nc,&s); memset(vis,0,sizeof(vis)); for(int i=0;s[i]!='\0';i++) { vis[s[i]-'a']=1; } int cnt=0; for(int i=0;i<256;i++) { if(vis[i])vis[i]=cnt++; } memset(hash,0,sizeof(hash)); int len=strlen(s); int ans=0; for(int i=0;i<=len-n;i++) { int num=0; for(int j=0;j<n;j++) { int x=s[i+j]-'a'; num=num*cnt+vis[x]; } if(!hash[num])hash[num]=1,ans++; } printf("%d\n",ans); return 0; }
相关文章推荐
- poj 1200 Crazy Search 字符串hash
- POJ题目1200 Crazy Search(字符串hash)
- POJ 1200 Crazy Search(字符串简单的hash)
- POJ-1200 Crazy Search,人生第一道hash题!
- POJ-1200 Crazy Search ( hash )
- poj1200 Crazy Search——字符串哈希
- poj1200-Crazy Search(hash入门经典)
- POJ 1200 Crazy Search(Hash)
- poj 1200:Crazy Search (Hash)
- poj 1200 Crazy Search【hash】
- poj_1200_Crazy Search_hash
- [POJ] 1200 Crazy Search [HASH]
- POJ 1200 Crazy Search //HASH
- POJ 1200 Crazy Search(hash).
- POJ 1200 Crazy Search(HASH)
- poj 1200 (字符串hash)
- hash&Rabin-Karp字符串查找POJ 1200 Crazy Search
- poj 1200 Crazy Search
- poj 1200 --- 不错的字符串HASH构造方法
- POJ 1200 Crazy Search (RKhash)