![](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 · 172 阅读 · 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 · 649 阅读 · 1 评论 -
字符串Hash+二分(poj3974-Palindrome,武辰延的字符串)
原题链接:Palindrome字符串Hash注意:直接使用unsigned long long储存Hash值,计算时不处理算术溢出问题(产生溢出时相当于自动对264取模,这样可以避免低效的mod运算)一般取进制数p为131或13331二分注意:本题分两种情况:最长偶回文子串或最长奇回文子串,要综合两种情况的max枚举回文子串的中心位置,找到每个中心位置对应的回文子串(奇或偶)的max,最后再取一次max,在这个过程可以二分一半回文子串的长度对于最长奇回文子串其实只要判断......原创 2020-08-03 21:08:23 · 336 阅读 · 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 评论