news 2026/2/28 15:46:20

洛谷 P3370 【模板】字符串哈希

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
洛谷 P3370 【模板】字符串哈希

题目描述

如题,给定 N 个字符串(第 i 个字符串长度为 Mi​,字符串内包含数字、大小写字母,大小写敏感),请求出 N 个字符串中共有多少个不同的字符串。

友情提醒:如果真的想好好练习哈希的话,请自觉。

输入格式

第一行包含一个整数 N,为字符串的个数。

接下来 N 行每行包含一个字符串,为所提供的字符串。

输出格式

输出包含一行,包含一个整数,为不同的字符串个数。

输入输出样例

输入 #1复制

5 abc aaaa abc abcc 12345

输出 #1复制

4

说明/提示

数据范围

对于 30% 的数据:N≤10,Mi​≈6,Mmax​≤15。

对于 70% 的数据:N≤1000,Mi​≈100,Mmax​≤150。

对于 100% 的数据:N≤10000,Mi​≈1000,Mmax​≤1500。

样例说明

样例中第一个字符串 abc 和第三个字符串 abc 是一样的,所以所提供字符串的集合为 {aaaa,abc,abcc,12345},故共计 4 个不同的字符串。

#include<bits/stdc++.h> using namespace std; const int N=10010,P=131; int n; typedef unsigned long long ULL; ULL a[N]; ULL get_hash(string s) { ULL ret=0; for(int i=1;i<=s.size();i++) { ret=ret*P+s[i-1]; } return ret; } int main() { cin>>n; for(int i=1;i<=n;i++) { string s; cin>>s; ULL x=get_hash(s); a[i]=x; } int ret=1; sort(a+1,a+1+n); for(int i=2;i<=n;i++) { if(a[i]!=a[i-1]) ret++; } cout<<ret<<endl; return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/27 11:01:24

终极指南:如何用pbxproj轻松玩转Xcode项目文件

终极指南&#xff1a;如何用pbxproj轻松玩转Xcode项目文件 【免费下载链接】mod-pbxproj A python module to manipulate XCode projects 项目地址: https://gitcode.com/gh_mirrors/mo/mod-pbxproj pbxproj是一个强大的Python模块&#xff0c;专门用于读取、修改和保存…

作者头像 李华
网站建设 2026/2/27 9:29:43

类型安全强化学习实战:从Gymnasium类型提示到项目稳健性提升

"为什么我的强化学习训练总是莫名其妙崩溃&#xff1f;" 这可能是每个RL开发者都经历过的深夜拷问。当你在step()方法中传入一个错误类型的动作&#xff0c;或者在包装器链中因观测空间不匹配而陷入调试泥潭时&#xff0c;Gymnasium的类型提示系统或许正是你需要的救…

作者头像 李华
网站建设 2026/2/27 4:40:06

OBS直播教程:OBS多路推流插件如何下载?如何安装?怎么用?

OBS直播教程&#xff1a;OBS多路推流插件如何下载&#xff1f;如何安装&#xff1f;怎么用&#xff1f; OBS多路推流插件可以实现&#xff1a;一台电脑同时直播多个直播平台&#xff0c;节约电脑&#xff0c;节约电费 具体如何安装&#xff1f;如何使用&#xff1f;我写了一个…

作者头像 李华
网站建设 2026/2/28 14:35:14

ComfyUI-Manager依赖安装:5分钟搞定pip与uv的完美切换

ComfyUI-Manager依赖安装&#xff1a;5分钟搞定pip与uv的完美切换 【免费下载链接】ComfyUI-Manager 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager 还在为ComfyUI-Manager依赖安装速度慢而烦恼吗&#xff1f;作为ComfyUI生态中不可或缺的节点管理器&a…

作者头像 李华
网站建设 2026/2/28 9:27:36

5步精通libgit2跨平台编译:从依赖管理到性能优化

5步精通libgit2跨平台编译&#xff1a;从依赖管理到性能优化 【免费下载链接】libgit2 A cross-platform, linkable library implementation of Git that you can use in your application. 项目地址: https://gitcode.com/gh_mirrors/li/libgit2 你是否曾在构建libgit2…

作者头像 李华