![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
字符串
文章平均质量分 63
字符串
陌上花开 ~
越努力,越幸运(研究生在读)
展开
-
字符串模拟(g2g c u l8r)
g2g c u l8r 我写的代码: #include <iostream> #include <cstdio> #include <algorithm> #include <set> #include <map> #include <sstream> #define debug(x) cout<<#x<<":"<<x<<endl; #define f(i,a,n) for(int i=a原创 2021-03-14 21:10:14 · 171 阅读 · 0 评论 -
KMP+Trie+AC自动机总结(字符串)
KMP简介: KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个next()函数实现,函数本身包含了模式串的局部匹配信息。KMP算法的时间复杂度O(m+n)O(m+n)O(m+n) 图片: next数组求法: void getNext(){ int len=n;原创 2020-07-13 15:14:46 · 643 阅读 · 1 评论 -
字符串Hash+二分(poj3974-Palindrome,武辰延的字符串)
原题链接:Palindrome 字符串Hash注意: 直接使用unsigned long long储存Hash值,计算时不处理算术溢出问题(产生溢出时相当于自动对264取模,这样可以避免低效的mod运算) 一般取进制数p为131或13331 二分注意: 本题分两种情况:最长偶回文子串或最长奇回文子串,要综合两种情况的max 枚举回文子串的中心位置,找到每个中心位置对应的回文子串(奇或偶)的max,最后再取一次max,在这个过程可以二分一半回文子串的长度 对于最长奇回文子串其实只要判断 ......原创 2020-08-03 21:08:23 · 332 阅读 · 0 评论 -
poj3349(Hash表,TLE和AC分析)
题目链接:Snowflake Snow Snowflakes 分析: 我们可以自己定义hash函数: H(a1,a2,...,a6)=(∑i=16ai+∏i=16ai)modp(p选取一个较大的质数)\begin{aligned}H\left( a_{1},a_{2},...,a_{6}\right) =\left( \sum ^{6}_{i=1}a_{i}+\prod ^{6}_{i=1}a_{i}\right) modp\\ \left( p选取一个较大的质数\right) \end{aligned}H原创 2020-08-01 15:27:24 · 153 阅读 · 0 评论