hash 【模板】
hash
功能: hash一般用于快速判断两个或多个字符串是否匹配。
实现 : 想一想,如果比较两个数子的话是很方便的很快,那么我们把整个字符串看成一个大数。
它是base进制的len位数。但是我只会比较十进制啊,那就转成10进制,但又太大了(成百上千位啊)
不得以,我只好请来一个大质数MOD把这些大数映射到一个较小的范围内比较。
代码:
#include<iostream> #include<cstring> #include<algorithm> #include<queue> #include<math.h> #include<cstdio> using namespace std; #define LL unsigned long long #define MOD 1000000007 #define base 211 LL n,b[20000]; LL get_hash(char s[ ]) { int len=strlen(s); LL ans=0; for(int i=0;i<len;i++) ans=(ans*base + (LL) s[i])%MOD; return ans; } int main() { scanf("%lld",&n); char s[60000]; for(int i=1;i<=n;i++) { cin>>s; b[i]=get_hash(s); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App