当前位置: 首页 > news >正文

洛谷 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; }
http://www.jsqmd.com/news/107652/

相关文章:

  • 技术人才如何实现职业跃迁:从执行者到战略影响者的3个关键维度
  • qView:极简高效的跨平台图片查看器终极指南
  • 革命性Rust跨平台性能测试方案:企业级多架构性能基准实践
  • 如何彻底解决腾讯游戏卡顿:sguard_limit资源限制器完整指南
  • 洛谷 P10468 兔子与兔子
  • 终极指南:如何用pbxproj轻松玩转Xcode项目文件
  • DiT架构演进:从理论突破到工业级扩展的技术实践
  • 边缘计算开源项目终极指南:零成本构建智能物联网系统
  • 终极多平台年会抽奖系统完整使用指南
  • 如何从零开始构建企业级工作流自动化系统
  • NPDP认证终极指南:如何快速掌握产品经理核心技能?
  • DownKyi哔哩下载姬:B站视频批量下载与格式转换完整教程
  • 移动端AI部署革命:Paddle-Lite如何让深度学习模型在手机上流畅运行
  • 词库转换终极指南:轻松实现20+输入法无缝迁移
  • 终极EPUB编辑器指南:如何快速制作专业电子书
  • 类型安全强化学习实战:从Gymnasium类型提示到项目稳健性提升
  • 重塑复古美学:Analog Diffusion胶片质感图像生成的15个实战技巧
  • 2025终极提示工程实战指南:核心技术解密与效率突破
  • JSLint:提升JavaScript代码质量的智能工具
  • 17、处理器早期估计建模:技术解析与应用实践
  • Vim文件属性查看终极指南:三大工作流快速解决你的文件管理痛点
  • unioffice终极指南:用Go语言高效处理Office文档的完整方案
  • 分布式通信实战指南:从性能瓶颈到系统优化
  • NPDP产品管理体系深度解析
  • 快速上手EPubBuilder:5分钟创建专业EPUB电子书
  • POV-Ray 终极指南:从零开始掌握专业级射线追踪渲染
  • OBS多平台推流终极指南:一键实现同步直播全覆盖
  • GLM-4.5-FP8终极指南:3550亿参数MoE大模型快速部署与实战应用
  • 专业鼠标性能测试指南:用数据优化你的操作体验
  • Notally 极简笔记应用完整使用指南