字符串
文章平均质量分 54
Looy_cai
愿你能够
成为优秀的人
展开
-
P5826 【模板】子序列自动机
序列自动机原创 2022-07-16 20:21:49 · 95 阅读 · 0 评论 -
Obtain The String(序列自动机/vector+二分)
序列自动机/vector+二分原创 2022-07-16 15:28:14 · 152 阅读 · 0 评论 -
Stammering Aliens(哈希+二分)
LINK题目:大致翻译:在字符串s中寻找出现次数不小于m的最长子串,输出该子串的长度和在s中最后一次出现的位置。思路:运用二分的思想来查找子串的长度,相同长度子串运用哈希存入map中,map统计子串出现次数是否不小于m代码:#include<bits/stdc++.h>using namespace std;#define ll long long#define ull unsigned long long#define pa pair<ull,ull>//原创 2022-05-30 13:18:43 · 127 阅读 · 0 评论 -
Hash(简单说明+记录题目)
题目:1.哈希模板为了解决哈希碰撞可以双哈希,双重保险hh2.双哈希模板原创 2022-05-29 23:32:17 · 75 阅读 · 0 评论 -
Birthday Cake(双哈希,思维)
LINK双哈希是为了解决哈希冲突的一种方法题目:链接:https://ac.nowcoder.com/acm/contest/16092/F来源:牛客网示例1输入3ababcabc输出3示例2输入3abcacabc输出0示例3输入4hhhhhhhhhhhh输出6大致题意:给出n个字符串,现寻找两个字符串相加后形成AA的形式,问:n个字符串中有多少满足题意。说明:AA的形式为两个相同的字符串A,例如"abcdabcd"中A=“abcd”。思路原创 2022-05-29 23:23:38 · 294 阅读 · 0 评论 -
P3370 【模板】字符串哈希
传送门输入输出样例输入5abcaaaaabcabcc12345输出4主要考察哈希,用unsigned long long,在超过232的时候会自然溢出哈希的思路类似于二进制十进制十六进制……的转换规则代码:#include <bits/stdc++.h>using namespace std;#define inf 0x3f3f3f3f#define eps 1e-6const int ma=1e4+10;typedef long long ll;ty原创 2021-04-29 00:40:10 · 251 阅读 · 0 评论 -
string知识点总结
string基本功能字符串的输入输出字符串的连接 append字符串的插入 insert字符串的比较 compare字符串的查找 find字符串的替换 replace字符串的删除 erase提取子串 substr字符串的输入输出字符串的连接 append字符串的插入 insert字符串的比较 compare字符串的查找 find字符串的替换 replace字符串的删除 erase提取子串 substr输入输出:#include <bits/stdc++.h>usin原创 2021-01-21 11:16:40 · 241 阅读 · 0 评论 -
P3375 【模板】KMP字符串匹配(入门KMP)
传送门样例1:ABABABCABA先介绍一下KMP中next数组:(要有点基础初步了解kmp后更好理解噢~)其实它主要是为了减少时间上的消耗,如何减少呢?就是利用字符串所包含的规律减少判断的次数。首先我们先来看下面这幅图:从头开始若含有相同区间就不必重复判断那部分区间了呀,要是再判断一次:一方面操作和前面判断的无差别;一方面结果和从头开始判断也是相同的(结合图片仔细想想,相信聪明的你可以想明白!);所以要想下一次判断的时候减少次数,我们可以用数组next标记下相同的区域的下标,为原创 2021-04-28 00:35:48 · 143 阅读 · 0 评论 -
马拉车(manacher)
作用:在O(n)时间内找到最长回文串1.改造字符串:字符串有奇偶之分,但偶回文串不好找对称中心,所以用此方法将字符串变为奇字符串。方法:在字符之间和两边插入 ‘#’。2.回文半径:定义:以i为中心,最长回文串长度的一半例如:此时以iii为中心的回文串长度即为p[i]−1p[i]-1p[i]−13.加速盒子:盒子范围:[l,r][l,r][l,r]维护右端点最靠右的最长回文串,利用数组p[i]对称点的值转移,从而节省时间。例如:在枚举完前i−1i-1i−1个字符后,维护盒子[l,r原创 2022-05-29 20:59:00 · 128 阅读 · 0 评论