当前位置:网站首页>牛客 - 鼠标的天选(字符串哈希)
牛客 - 鼠标的天选(字符串哈希)
2022-08-03 07:59:00 【GHOSTANDBREAD】
题目链接:https://ac.nowcoder.com/acm/contest/38305/F
思路:
简单的字符串匹配问题,可以用 KMP,这里用的是字符串哈希
代码:
#include<bits/stdc++.h>
using namespace std;
#define endl "\n"
typedef unsigned long long ull;
const int P = 131, N = 1e4 + 10;
ull h[N], p[N];
int res;
ull get(int l, int r) {
return h[r] - h[l - 1] * p[r - l + 1];
}
int main() {
ios::sync_with_stdio(false);
cout.tie(0);
int n;
cin >> n;
ull s1h = 0;
string s1 = "month";
for(int i = 1; i <= 5; i ++) s1h = s1h * P + s1[i - 1];
while(n --) {
string s;
cin >> s;
if(s.size() < 5) continue;
memset(h, 0, sizeof h);
memset(p, 0, sizeof p);
p[0] = 1;
for(int i = 1; i <= s.size(); i ++) {
p[i] = p[i - 1] * P;
h[i] = h[i - 1] * P + s[i - 1];
}
for(int i = 1; i <= s.size() - 5 + 1; i ++) {
if(get(i, i + 5 - 1) == s1h) {
res ++;
break;
}
}
}
cout << res;
return 0;
}
边栏推荐
- mysql备份时的快照原理
- 【Kaggle实战】泰坦尼克号生存人数预测(从零到提交到Kaggle再到模型的保存与恢复)
- day12---接口和协议
- 基于SSM开发的的小区物业管理系统小程序源码
- volta管理node版本
- mysqlbinlog: unknown variable 'default-character-set=utf8'
- JS函数获取本月的第一天和最后一天
- ArcEngine (1) Loading vector data
- @Async注解的坑,小心
- Evaluate: A detailed introduction to the introduction of huggingface evaluation indicator module
猜你喜欢
随机推荐
Roson的Qt之旅#103 QML之标签导航控件TabBar
ArcEngine (4) Use of MapControl_OnMouseDown
【TPC-DS】25张表的详细介绍,SQL的查询特征
requests库
Taro框架-微信小程序-内嵌h5页面
面试介绍项目经验(转)
Qt5开发从入门到精通——第二篇(控件篇)
VR全景市场拓展技巧之“拓客宝典”
Charles packet capture tool learning record
LAN技术-2免费ARP
redis键值出现 xacxedx00x05tx00&的解决方法
day12---接口和协议
netstat 及 ifconfig 是如何工作的。
mysql服务器上的mysql这个实例中表的介绍
36氪详情页AES
22-08-02 西安 尚医通(02)Vscode、ES6、nodejs、npm、Bable转码器
并发之固定运行和交替运行方案
千万级别的表分页查询非常慢,怎么办?
frp:开源内网穿透工具
剑指offer专项突击版第18天