【求助】关于自然溢出hash
  • 板块学术版
  • 楼主KidA
  • 当前回复2
  • 已保存回复3
  • 发布时间2023/11/14 16:14
  • 上次更新2023/11/14 18:05:04
查看原帖
【求助】关于自然溢出hash
542221
KidA楼主2023/11/14 16:14

目标是获取 posi∼posi+1pos_i \sim pos_{i+1} 的正 hash 与倒 hash 值。

为什么这样写不对?求助各位大佬。

//定义
#define ull unsigned long long
ull h[2000031],h2[2000031],p[2000031];
//预处理
p[0]=1;
for(int i=1;i<=2000010;i++) p[i]=p[i-1]*13331;
for(int i=1;i<=n;i++) h[i]=h[i-1]*13331+s[i];
for(int i=n;i;i--) h2[i]=h2[i+1]*13331+s[i];
//求值(hash1 为正 hash 值,hash2 为倒 hash 值)
ull hash1=h[pos[i+1]]-h[pos[i]-1]*p[pos[i+1]-pos[i]+1];
ull hash2=h2[pos[i]]-h2[pos[i+1]+1]*p[pos[i+1]-pos[i]+1];
2023/11/14 16:14
加载中...