字符串
V4yne.
HDU18级新生,ACM菜狗。
展开
-
bzoj3942 AC自动机
题意:有一个S串和一个T串,长度均小于1,000,000,设当前串为U串,然后从前往后枚举S串一个字符一个字符往U串里添加,若U串后缀为T,则去掉这个后缀继续流程。 Sample Input whatthemomooofun moo Sample Output whatthefun 题解:将T串插入到AC自动机中,对于S串每个字符的匹配,如果当前节点被标记是T的终止节点就把AC自动机上匹配到的节点更新到T串前一个字符。 用一个数组记录每一个字符匹配到的AC自动机上的节点号,用一个栈记录答案。 AC代码: #原创 2020-08-27 01:33:26 · 169 阅读 · 0 评论 -
Count New String 牛客第四场C题解
题解: 对给出的方程式进行几次递推后可以得到答案就是一次变化得到的所有字符串的不同的子串种类数。很显然这个转换后的问题是广义后缀自动机的模板题。 不过我们不可以一次次处理出所有的这样的后缀再一个个地插入到广义后缀自动机里面求解答案,那样的做法显然会 tle。 这时候注意到题目说字符集只有 a 到 j 这10个字母,那么最坏的情况这些字符串就是: aaabbb aaabbbccc 这样的形式,最多是10N。 我们从右往左枚举字符串的每一个字符,然后寻找其右边第一个大于自己的字符,然后当前字符到第一个大于自己的原创 2020-07-24 16:57:15 · 182 阅读 · 0 评论 -
BZOJ3555 企鹅QQ 字符串hash
题目: Description PenguinQQ是中国最大、最具影响力的SNS(Social Networking Services)网站,以实名制为基础,为用户提供日志、群、即时通讯、相册、集市等丰富强大的互联网功能体验,满足用户对社交、资讯、娱乐、交易等多方面的需求。 小Q是PenguinQQ网站的管理员,他最近在进行一项有趣的研究——哪些账户是同一个人注册的。经过长时间的分析,小Q发现同一个人注册的账户名称总是很相似的,例如Penguin1,Penguin2,Penguin3……于是小Q决定先对这种原创 2020-07-19 01:39:34 · 206 阅读 · 0 评论 -
BZOJ 2084 Antisymmetry
题意: 对于一个01字符串,如果将这个字符串0和1取反后,再将整个串反过来和原串一样,就称作“反对称”字符串。比如00001111和010101就是反对称的,1001就不是。 现在给出一个长度为N的01字符串,求它有多少个子串是反对称的。 数据范围:N小于等于5e5。 题解:类似于回文串,不过匹配的是按照不相等来匹配,利用manacher的思想可以O(n)过。 代码: #include<bits/stdc++.h> using namespace std; const int maxn=1e6+原创 2020-07-15 21:51:32 · 160 阅读 · 0 评论 -
洛谷 P4555 [国家集训队]最长双回文串(manacher马拉车算法)
题目链接 题目思路:先对字符串做变形处理成s字符串,然后马拉车处理出s字符串的每一个位置做对称轴能往两边扩散的最长距离。对于每一个位置维护: ll 数组:以 i 做起点的最长的回文串长度。 rr数组:以 i 做终点的最长的回文串长度。 需要注意的是,处理完后还要dp更新一下所有点的 ll 和 rr 数组。 以及这题必须要分成两个字符串,而不是单个字符串,如果只是aba这样的数据,输出应该是2而不是1。 AC代码: #include<bits/stdc++.h> using namespace s原创 2020-06-19 13:07:19 · 201 阅读 · 0 评论 -
2019牛客暑假多校第七场-A
AC代码: #include<bits/stdc++.h> using namespace std; string str; bool ok(string str) { int len=str.size(); for(int i=1;i<len;i++) { string x; x=str.substr(i,len-i)+str.substr(0,i); if(...原创 2019-08-08 20:42:14 · 226 阅读 · 0 评论 -
2019牛客多校竞赛第四场I题解
链接:https://ac.nowcoder.com/acm/contest/884/I 来源:牛客网 string 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 524288K,其他语言1048576K 64bit IO Format: %lld 题目描述 We call a,ba,ba,b non-equivalent if and only if a≠ba \neq ba...原创 2019-07-28 12:53:28 · 269 阅读 · 0 评论 -
洛谷p3804 后缀自动机的应用(两种解法)
链接:https://www.luogu.org/problem/P3804 题意: 给定一个只包含小写字母的字符串S, 请你求出 S 的所有出现次数不为 1 的子串的出现次数乘上该子串长度的最大值。 思路:后缀自动机的模板练习题,求解一个字符串中每个子串出现了几次可以用后缀自动机加上拓扑排序来求解,子节点中出现的字符串在其fa节点中一定也出现过,所以从拓扑序最大的往上更新fa节点的出现次数(s...原创 2019-08-04 14:13:50 · 264 阅读 · 0 评论 -
2019黑龙江大学生程序设计竞赛A
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 #inclu...原创 2019-07-07 01:28:38 · 622 阅读 · 0 评论 -
序列自动机--(牛客)月月查华华的手机
序列自动机–(牛客)月月查华华的手机 链接:https://ac.nowcoder.com/acm/contest/392/J 来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 月月和华华一起去吃饭了。期间华华有事出去了一会儿,没有带手机。月月出于人类最单纯的好奇心,打开了华华...原创 2019-07-15 11:49:07 · 255 阅读 · 0 评论 -
2019内蒙古大学生程序设计竞赛E
2019内蒙古大学生程序设计竞赛E 链接:https://www.bttcacm.cn/problem.php?id=1783 题目描述 Rabbit 得到了一张秘密纸条,上面是由密密麻麻的小写字母组成的字符串。 已知,字符 c 与字符’z’-c+'a’是相反的。(即‘a’与‘z’,‘b’与‘y’…) 现在规定对称相反子串的定义为该子串从中间到两边对应位置的字符都是相反的。 例如给定字符串"azz...原创 2019-07-07 23:42:01 · 281 阅读 · 1 评论