news 2026/1/14 2:35:06

洛谷 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/1/8 13:16:30

如何用WebRL技术实现浏览器自动化:5个快速提升效率的终极技巧

在数字化办公时代&#xff0c;浏览器操作占据了日常工作的大量时间。现在&#xff0c;借助智谱AI开源的WebRL-Llama-3.1-8B模型&#xff0c;任何人都可以轻松实现网页操作的智能化自动化。本文将为你揭示5个简单易学的技巧&#xff0c;让你的浏览器操作效率提升数倍。 【免费下…

作者头像 李华
网站建设 2026/1/7 16:41:33

ISO 26262功能安全标准:汽车电子系统安全开发完整指南

ISO 26262功能安全标准&#xff1a;汽车电子系统安全开发完整指南 【免费下载链接】ISO26262中文版本PDF下载分享 ISO 26262 中文版本 PDF 下载 项目地址: https://gitcode.com/Open-source-documentation-tutorial/442c6 ISO 26262标准是汽车电子系统功能安全领域的权威…

作者头像 李华
网站建设 2026/1/9 21:24:01

快速上手EPubBuilder:5分钟创建专业EPUB电子书

EPubBuilder是一款功能强大的在线EPUB电子书编辑器&#xff0c;让作者和内容制作者能够轻松创建和编辑电子书内容。这个开源项目采用HTML、CSS和JavaScript技术栈&#xff0c;提供了完整的EPUB格式支持&#xff0c;无需安装任何软件即可在浏览器中完成整个电子书制作流程。 【免…

作者头像 李华
网站建设 2026/1/7 20:18:32

Notally 极简笔记应用完整使用指南

Notally 极简笔记应用完整使用指南 【免费下载链接】Notally A beautiful notes app 项目地址: https://gitcode.com/gh_mirrors/no/Notally Notally 是一款专为 Android 平台设计的精美笔记应用&#xff0c;它以极简主义为核心&#xff0c;为用户提供快速、直观且功能丰…

作者头像 李华