138. 兔子与兔子【字符串哈希】
哈希 字符串 兔子 138
2023-09-11 14:15:52 时间
很基础的字符串哈希
#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long int ull;
const int N=1e6+10;
const int M=233;
ull base[N],h[N],n;
string s;
void init()
{
base[0]=1;
for(int i=1;i<N;i++) base[i]=base[i-1]*M;
}
ull get(int l,int r)//获取字符串[l,r]的哈希值
{
return h[r]-h[l-1]*base[r-l+1];
}
int main(void)
{
cin>>s;
s="0"+s;
init();
for(int i=1;i<s.size();i++) h[i]=h[i-1]*M+s[i]-'a';
cin>>n;
while(n--)
{
int l1,r1,l2,r2; cin>>l1>>r1>>l2>>r2;
ull sum1=get(l1,r1);
ull sum2=get(l2,r2);
if(sum1==sum2) puts("Yes");
else puts("No");
}
return 0;
}
相关文章
- 【算法】哈希表的诞生(Java)
- 【LOJ#6066】「2017 山东一轮集训 Day3」第二题(哈希,二分)
- 【BZOJ3162】独钓寒江雪(树哈希,动态规划)
- 【BZOJ3555】企鹅QQ(字符串哈希)
- 哈希函数3:布隆过滤器,用位图标记黑名单系统,用哈希函数设置位图
- 程序员必备:字符串哈希函数比较
- 哈希加密详解和md5、sha1、sha256、Java 工具类
- JAVA集合--解决哈希冲突的寻址算法及代码示例
- Swift3.0语言教程获取字符串编码与哈希地址
- Memcached 笔记与总结(6)PHP 实现 Memcached 的一致性哈希分布算法
- 大规模图像检索的利器--Deep哈希算法
- POJ 2002 Squares (哈希)
- POJ 3690 Constellations (哈希)
- 静态哈希和动态哈希的区别
- QMap QHash的选择(QString这种复杂的比较,哈希算法比map快很多)
- Perl哈希%hash
- 116、【回溯算法】leetcode ——17. 电话号码的字母组合:回溯法:哈希映射+字符串数组映射(C++版本)
- 单双链表、栈和队列、递归和Master公式、哈希表和有序表的使用和性能
- [CareerCup] 13.2 Compare Hash Table and STL Map 比较哈希表和Map
- 编程参考 - 如何计算字符串的哈希值