[模板]-字符串哈希
来源:互联网 发布:淘宝怎么打折促销 编辑:程序博客网 时间:2024/05/21 20:10
问题描述:
给定N个字符串(第i个字符串长度为Mi,字符串内包含数字、大小写字母,大小写敏感),请求出N个字符串中共有多少个不同的字符串。
代码:
char s[10010][1500];set<long long>se;//集合long long BKDR(char s[])//AC{ long long ans = 0; int len = strlen(s); for(int i = 0; i <= len - 1; ++i) { ans = ans * 31 + s[i]; } return (ans & 0x7FFFFFFF);}long long ELF(char s[])//AC{ long long ans = 0,x = 0; int len = strlen(s); for(int i = 0; i <= len - 1; ++i) { ans = (ans << 4) + s[i]; if((x = ans & 0xF0000000L) != 0) { ans ^= (x >> 24); ans &= ~x; } } return (ans & 0x7FFFFFFF);}long long SDBM(char s[])//WA一个点{ long long ans = 0; int len = strlen(s); for(int i = 0; i <= len - 1; ++i) ans = s[i] + (ans << 6) + (ans << 16) - ans; return (ans & 0x7FFFFFFF);}int main(){ int n; cin >> n; for(int i = 1; i <= n; ++i) { scanf("%s",s[i]);//输入 se.insert(SDBM(s[i]));//将哈希值加入集合 } printf("%d\n",se.size());//输出集合中元素的个数 return 0;}
阅读全文
0 0
- 字符串哈希模板
- 【模板】字符串哈希
- 【模板】 字符串哈希
- [模板]-字符串哈希
- 【模板】字符串哈希
- P3370 【模板】字符串哈希
- HDU4821-字符串哈希模板
- P3370 【模板】字符串哈希
- P3370 [模板] 字符串哈希
- [P3370][模板]字符串哈希
- ACM hash哈希字符串 模板 hdu4080
- 字符串哈希(Hash模板)
- 洛谷 P3370 【模板】字符串哈希
- 【模板】【洛谷P3370】字符串哈希
- [模板]字符串哈希的简易做法
- 洛谷3370字符串哈希模板
- 洛谷P3370 【模板】字符串哈希
- 字符串哈希-P3370 【模板】字符串哈希
- 数组与矩阵---之字型打印矩阵
- 在淘宝服务市场的应用源码
- LeetCode 566. Reshape the Matrix
- JS笔记(3) —— 数组 API
- Linux如何安装程序
- [模板]-字符串哈希
- oracle11g with admin option 和with grant option区别
- C#中常用的系统内置委托
- 三七互娱2018校招前端笔试题
- 酒罢问君三语
- Spring AOP实现:面向切面编程——动态代理原理
- please select a vaild python interpret
- 安卓开发从零开始第6篇——如何在Android直接使用draw9patch.bat
- 51nod 1967 路径定向(欧拉路)