
字符串
文章平均质量分 96
字符串类习题总结
Gene_INNOCENT
Wait for the sunrise!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
后缀数组算法概述及习题
后缀数组的题目非常灵活多变,主要涉及字符串所有后缀的字典序比较以及最长公共前缀。本文主要介绍后缀数组的一些经典应用,虽然是经典应用,但是其思想应该属于后缀数组类问题的本质思想。原创 2019-10-24 21:12:21 · 467 阅读 · 0 评论 -
AC自动机算法概述及习题
AC 自动机主要适用于多个模式串下的匹配问题,常嵌套 dp 进行考察或者利用其 fail 树的性质进行出题。但是这些问题都有一个相同的特点,就是一定会题目给出或者人为建出多个字符串进行匹配,此点可以用于辨别 AC 自动机问题。原创 2019-09-25 21:33:11 · 1591 阅读 · 0 评论 -
【Codeforces Round #291 (Div. 2) C】Watto and Mechanism【Trie树、Hash】
题意: 给出n个串,m组询问。每组询问均为一个字符串,询问在初始n个串中是否存在一个串与该询问串恰好只有一个位置不相同。输出YES or NO。 Hash思路: 首先先讲讲Hash的算法,利用bkdr算法将每个字符串hash成一个数值,hash函数如下:hash: abccachash[1] = 0hash[6] = 0*131^5+1*131^4+...原创 2019-02-16 12:55:54 · 232 阅读 · 0 评论 -
HDU - 1247 (字典树水题)
题意: 给很多单词,问你有没有一个单词是由其它两个单词拼接而成,如果有就输出。思路: 因为本来就是字典序输入,所以只要按照字典序来判断然后输出就行了。 在建树的时候,对每一个单词的结尾进行标记。 然后对输入的单词一一判定,将单词放到树里面跑,如果跑到某一个点被标记过,则将这个点之后的字符串截取下来,在树中搜索这个单词是否出现过。大坑点: 题目不难,但是题目很坑。 ...原创 2018-05-20 17:21:00 · 490 阅读 · 1 评论 -
【Nowcoder - 5670 B Graph】2020 牛客暑期多校训练营(第五场)【最小异或生成树、Boruvka 思想】
给定一颗 n 个点的树,每条边的权重为 wi。可以任意删除一些边或者增加一些边,但是在删增过程中必须保证图连通并且任意一个环的异或和为 0。在此基础上,求最小生成树。原创 2020-08-07 10:42:42 · 447 阅读 · 0 评论 -
01串匹配问题 —— Binary Strings【Gym - 101845B】
题意: 给定两个01串,将第一个串通过两种操作变成第二个串。 操作一:将第一个串的最后一个字母移到最前面。 操作二:将相邻的两个字母进行反转,0反转为1, 1反转为0。 问将第一个串转变为第二个串,最少需要进行多少次操作二,输出最少的操作二的操作数,如果不能将第一个串转变为第二个串,则输出 -1。 思路: 首先,可以看到操作一是将第一个串的...原创 2018-08-20 21:55:31 · 1242 阅读 · 0 评论 -
【扩展KMP】【HDU 4333】Revolving Digits
题意: 给定一个字符串,然后将字符串最后的字母不断移动到字符串的首字母位置,需要求出在这个移动的过程中,生成的字符串比原串字典序大、相等、小的所有字符串个数。移动过程中,相同的字符串不重复计算。 思路: 由于是比较字典序,因此需要进行前缀比较。自然地想到要使用扩展kmp知识,我们这里先大概回忆一下扩展kmp知识。 next [ i ] : 模...原创 2018-11-06 18:30:24 · 218 阅读 · 0 评论 -
【CodeForces - 471D 】【构造差分kmp】MUH and Cube Walls
题意: 给你一个数组A,再给你一个数组B,我们可以任意将数组B整体增加或者减少值X(整数),我们可以进行修改值的操作无限次,每次我们要在数组A中找寻有几段和数组B完全匹配的子段。 思路: 可以发现由于可以将这个区间的数整体增加或减少一个数,因此该题匹配的重点不再是对于某个点的匹配,而是相邻点之间的差,因此我们需要维护一个差分数组。 让差分数组进行匹...原创 2018-11-06 18:41:46 · 284 阅读 · 0 评论