
YbtOJ hash和hash表课堂过关 例1 字符串哈希【hash】
发布日期:2021-05-07 13:09:58
浏览次数:6
分类:原创文章
本文共 638 字,大约阅读时间需要 2 分钟。
题目
思路
这道题是字符串。
我们把给每个字符串一个地址,
地址重复就往后取地址。
如果找到空地址,证明字符串没有出现过。
找到有相同字符串的地址,证明字符串是重复出现过的。
这样就可以解决这道题了。
代码
#include<iostream>#include<cstring>#include<string>#include<cstdio>#include<cmath>using namespace std;const int P=13331;string s,h[20010];int n,ans;bool hs(string s){ int sum=0,j=0; for(int i=0; i<=s.size()-1; i++) sum=(sum*123+(s[i]-48))%P; while(h[(sum+j)%P]!=""&&h[(sum+j)%P]!=s) j++; if(h[(sum+j)%P]=="") { h[(sum+j)%P]=s; return 0; } return 1;}int main(){ //freopen("P3370_2.in","r",stdin); cin>>n; for(int i=1; i<=n; i++) { cin>>s; if(hs(s)==0) ans++; } cout<<ans; return 0;}
发表评论
最新留言
关注你微信了!
[***.104.42.241]2025年04月04日 04时59分57秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
MySql索引及使用、实现的数据结构
2019-03-04
初探SSRF漏洞
2019-03-04
四级单词部分(整理)
2019-03-04
JavaFX\FXML\CSS的简单使用
2019-03-04
【python】理解列表推导式以及列表推导式嵌套
2019-03-04
pythonBug入门——从零开始学python
2019-03-04
Vue.js——v-model结合checkbox类型——2020.11.22
2019-03-04
Mybatis核心配置文件--常用标签详解
2019-03-04
R语言练习题答案(3)
2019-03-04
jQuery 事件及动画
2019-03-04
[电影]《Ladybird》演绎完整18岁的青春
2019-03-04
树莓派博通BCM2835芯片的IO口驱动代码调试和测试
2019-03-04
js中[]、{}、()的区别
2019-03-04
js-禁止右键菜单代码、禁止复制粘贴代码
2019-03-04
血色先锋队
2019-03-04
win10系统安装配置Go环境包(第0章)
2019-03-04
搭建samba服务器
2019-03-04
Java: 错误: 不支持发行版本 5
2019-03-04
顺序表的操作总结
2019-03-04
Java基础语法
2019-03-04