- 博客(3)
- 收藏
- 关注
原创 二维哈希
文章目录前置知识二维哈希表的预处理二维哈希表的查询操作例题解析哈希前置知识请戳这里->哈希绪论关于哈希的其他例题也可以在我字符串哈希的分类专栏中找到有了一维哈希的基础知识,很容易就能联想到二维哈希。那具体又该如何实现呢?前置知识我们先回顾一下二维前缀和的求解方法,设ppp为二维差分数组,aaa为原数组,则有p[i][j]=p[i−1][j]+p[i][j−1]−p[i−1][j−1]+a[i][j]p[i][j]=p[i-1][j]+p[i][j-1]-p[i-1][j-1]+a[i][j]
2021-04-14 21:42:22
3115
4
原创 哈希基础例题
文章目录例题一:子串查找例题二:字符串的删除操作例题三:字符串合并操作的应用哈希前置知识请戳这里->哈希绪论昨天我们对哈希的基础知识有了一定的了解,并已经知道了如何求子串、拼接子串的哈希值,今天我们就这两个操作分析一些基础例题,加深理解和掌握。例题一:子串查找LOJ #103. 子串查找显然这是一道kmp算法的模板题朴素的做法是枚举文本串的每一个位置作为模式串开始比较的位置。设枚举到主串的位置是iii,NNN为主串(即输入的第一行)的长度,MMM为模式串(即输入的第二行)的长度,sasas
2021-04-07 12:01:31
866
原创 哈希入门
哈希入门介绍众所周知,比较两个字符串是否相同复杂度在最差情况下是O(n)O(n)O(n),虽然期望是O(1)O(1)O(1),但很容易就会被毒瘤出题人卡成O(n)O(n)O(n),于是字符串哈希就应运而生了。不过还是很容易被卡,我在结束时会结合LOJ上的hash killer分析卡哈希的办法为什么不直接双哈希哈希的主要思想就是把一个字符串转换成一个大整数,这样比较两个字符串是否相等的就只要比较两个整数是否相等就行了,妥妥稳定的O(1)O(1)O(1)比较。下面先来介绍如何把字符串转变成一个整数。..
2021-04-06 16:20:18
742
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人