首页 > 其他分享 >字符串哈希 模板 例题

字符串哈希 模板 例题

时间:2022-10-05 16:23:54浏览次数:80  
标签:哈希 int ULL 字符串 例题 模板

字符串哈希可以快速判断两个子字符串是否相等

原理:https://www.cnblogs.com/ydUESTC/p/15722400.html

注意 字符串哈希时后面的字符视为低位,这样方便取一段字符的哈希时先做乘法再做减法。

例题:https://leetcode.cn/problems/maximum-deletions-on-a-string/

模板:

typedef unsigned long long ULL;
const int N=4010,P=131;//P=131或13331
ULL h[N];//预处理出哈希数组
ULL p[N];//预处理P^i数组

ULL Get(int l,int r)
{
    return h[r]-h[l-1]*p[r-l+1];
}

    cin>>str;
    int n=str.size();
    p[0]=1;
    for(int i=1;i<=n;i++)
    {
        p[i]=p[i-1]*P;
        h[i]=h[i-1]*P+str[i-1];//注意这里,最新的字符视为str[i-1]*P^0
    }
View Code

 

标签:哈希,int,ULL,字符串,例题,模板
From: https://www.cnblogs.com/ydUESTC/p/16755762.html

相关文章

  • 异或方程组高斯消元模板
    inlinevoidsolve(intn){for(inti=1,top=1;i<=n;i++,top++){intcur=0;for(intj=top;j<=n;j++)if(m......
  • 读boost::multi_array有感,多维数组实现(非类型模板,偏特化)
    开发环境:VS2002(VC7)本文做如下简化:1,假定所有维元素都是5。2,不考虑const的[]。3,由于只是熟悉原理,不考虑各种异常情况。问题一,请实现一个一维整形数组,只需重载[]。问......
  • Prism 模板使用
    一、打开VisualStudio2022工具,选择“扩展”中的“扩展管理”菜单。如下图:二、在“扩展管理”界面中,搜索“PrismTemplatePack”并下载安装。如下图:三、重新打开Visu......
  • 事件相机特征跟踪-模板跟踪方法
    ​1、前言由于事件相机不能提供完整的图像,所以最初的特征跟踪依赖传统相机的数据。本推送介绍事件相机特征检测与跟踪的一篇较早的工作:FeatureDetectionandTrackingwith......
  • 【luogu P5906】【模板】回滚莫队&不删除莫队
    【模板】回滚莫队&不删除莫队题目链接:luoguP5906题目大意给你一个序列,多次询问每次问一个区间,求里面相同的数的最远间隔距离。思路考虑莫队,发现加入一个点好处理,但是......
  • 矩阵乘法(快速幂)结合dp结合除法逆元的例题
    https://atcoder.jp/contests/abc271/tasks/abc271_g题目的思路为:构建dp矩阵,dp[i][j][k]表示开始前停在j,结束后停在k,且停下时恰好出现2^i次访问的概率则dp[i]=dp[i-1]*d......
  • [模板]zkw线段树
    讲解在这里[还有一个](https://wenku.baidu.com/view/f27db60ee87101f69e319544.html)A.数列操作单点修改,区间查询code//正青春的年华,就是应该献给直指星辰的梦想啊!......
  • P5431 【模板】乘法逆元 2
    1#include<bits/stdc++.h>2usingnamespacestd;3typedeflonglongll;4constintN=5e6+10;5llfac[N],sv[N],inv[N],a[N];6lln,p,k;7v......
  • ToroiseGit/GitBash 设置提交信息模板设置
    导航:一、背景二、ToroiseGit实施方案:三、GitBash实施方案 一、背景:当使用git提交代码时,每次的提交信息固定,却又比较长不好记的时,还需要将模板的地址保存下来,如果能设置......
  • 元模板 笔记
    对类型编写,由于c++不存在if(type==xxx){}这种语法。类型计算可以使用:1,重载。2,虚函数。继承。3,c语言中利用Union查看代码structVariant{union{......