随笔分类 -  字符串

摘要:Bill的挑战 题目链接:https://www.luogu.org/problem/P2167 数据范围:略。 题解: 因为$k$特别小,想到状压。 状压的方式也非常简单,就是暴力枚举。 但是会不会存在重复的问题呢? 我想到这里就转到容斥了。 就是暴力多步容斥就好了。 $Luogu$的题解们的状压 阅读全文
posted @ 2019-10-16 20:27 JZYshuraK_彧 阅读(103) 评论(0) 推荐(0)
摘要:[HEOI2012]旅行问题 题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2746 题解: 这个是讲课时候的题。 讲课的时候都在想怎么后缀自动机.... 当然是能做啦,$SAM$这么强。 实际上是个$AC$自动机,按照题目模拟就行了。 阅读全文
posted @ 2019-08-27 22:09 JZYshuraK_彧 阅读(153) 评论(0) 推荐(0)
摘要:2384: [Ceoi2011]Match 1892: Match 1461: 字符串的匹配 题目大意: 数据范围: 题解: 很巧妙的一道题呀。 需要对$KMP$算法有很深的理解才行。 首先我们需要发现,要求的这个东西跟字符串匹配有点像。 我们在单个模式串匹配的时候用到的$KMP$算法,合法匹配条件 阅读全文
posted @ 2019-07-24 16:29 JZYshuraK_彧 阅读(240) 评论(0) 推荐(0)
摘要:品酒大会 bzoj-4199 Noi-2015 题目大意:给定一个字符串,如果其两个子串的前$r$个字符相等,那么称这两个子串的开头两个位置$r$相似。如果两个位置勾兑在一起那么美味度为两个位置的乘积。 注释:$1\le length \le 3\cdot 10^5$。 想法:我们先建立后缀自动机。 阅读全文
posted @ 2019-03-15 15:04 JZYshuraK_彧 阅读(224) 评论(0) 推荐(0)
摘要:弦论 bzoj-3998 TJOI-2015 题目大意:给定一个字符串,求其$k$小子串。 注释:$1\le length \le 5\cdot 10^5$,$1\le k\le 10^9$。 想法: 后缀数组傻逼题。 初学后缀自动机我们尝试用后缀自动机解决。 首先先建出$SAM$。 分别考虑$T= 阅读全文
posted @ 2019-03-15 14:25 JZYshuraK_彧 阅读(159) 评论(0) 推荐(0)
摘要:Sevenk Love Oimaster bzoj-2780 Spoj-8093 题目大意:给定$n$个大串和$m$次询问,每次给出一个字符串$s$询问在多少个大串中出现过。 注释:$1\le n\le 10^4$,$1\le q\le 6\cdot 10^4$,$the\ total\ lengt 阅读全文
posted @ 2019-03-15 09:26 JZYshuraK_彧 阅读(133) 评论(0) 推荐(0)
摘要:火星人prefix bzoj-1014 JSOI-2004 题目大意:给定一个字符串,支持三种操作:1.查询;两个后缀之间的$LCP$;2.单点修改;3.插入一个字符。 注释:$1\le n\le 10^5$,$1\le m\le 1.5\cdot 10^5$。 想法: 第一眼就是后缀数组,但是发现 阅读全文
posted @ 2018-12-17 16:53 JZYshuraK_彧 阅读(212) 评论(0) 推荐(0)
摘要:SvT bzoj-3879 题目大意:给定一个字符串。每次询问给定$t$个位置,求两两位置开头的后缀的$LCP$之和。 注释:$1\le length\le 5\cdot 10^5$,$\sum t\le 3\cdot 10^6$。 想法: 不难想到构建后缀数组。 进而我们的问题就转化成了给定序列上 阅读全文
posted @ 2018-12-17 16:32 JZYshuraK_彧 阅读(213) 评论(0) 推荐(0)
摘要:差异 bzoj-3238 Ahoi-2013 题目大意:求任意两个后缀之间的$LCP$的和。 注释:$1\le length \le 5\cdot 10^5$。 想法: 两个后缀之间的$LCP$和显然不好求。 我们先构建后缀数组。 那么任意两个后缀之间的$LCP$之和就是所有$sa$数组上所有区间的 阅读全文
posted @ 2018-12-17 16:05 JZYshuraK_彧 阅读(234) 评论(0) 推荐(0)
摘要:Sandy的卡片 bzoj-4698 Sdoi-2008 题目大意:题目链接。 注释:略。 想法: 这个题跟一个Usaco的题特别像。我们把这些串差分 现在我们要求的就是公共子串且出现次数不少于$k$的最长长度。 紧接着把这$n$新串拼一起建立后缀数组。 两种做法: 第一种是二分。我们直接二分答案然 阅读全文
posted @ 2018-12-13 08:41 JZYshuraK_彧 阅读(166) 评论(0) 推荐(0)
摘要:公共串 bzoj-2946 Poi-2000 题目大意:给定$n$个字符串,求他们的最长公共子串。 注释:$1\le n\le 5$,$1\le minlen<maxlen\le 2000$。 想法: 常规套路。 我们把这$n$个串拼一起,中间加上$n-1$个不同的非字符集数组隔开。 紧接着我们二分 阅读全文
posted @ 2018-12-12 19:47 JZYshuraK_彧 阅读(172) 评论(0) 推荐(0)
摘要:Milk Patterns 产奶的模式 bzoj-1717 Usaco-2006 Dec 题目大意:给定一个字符串,求最长的至少出现了$k$次的子串长度。 注释:$1\le n\le 2\cdot 10^4$,$2\le k\le n$。 想法:不难想到二分答案,现在我们考虑如何验证。 这里就是后缀 阅读全文
posted @ 2018-12-12 19:35 JZYshuraK_彧 阅读(143) 评论(0) 推荐(0)
摘要:Tasowanie bzoj-4278 ONTAK-2015 题目大意:给定两个字符串,求两个字符串二路归并之后生成的字典序最小的字符串是什么。 注释:$1\le len_1,len_2\le 2\cdot 10^5$。 想法: 和队列变换比较像啊。 我们将两个串接在一起然后建立后缀数组即可。 紧接 阅读全文
posted @ 2018-12-12 19:14 JZYshuraK_彧 阅读(169) 评论(0) 推荐(0)
摘要:外星联络 bzoj-2251 2010-BeiJing Wc 题目大意:题目链接。 注释:略。 想法: 这咋做啊????一看数据范围才$3\cdot 10^3$。 建立后缀数组。 所以我们将所有后缀排序后,每个后缀的$ht[i]+1$的位置显然这个子串是第一次出现。 我们统计每个子串第一次出现的位置 阅读全文
posted @ 2018-12-12 16:06 JZYshuraK_彧 阅读(147) 评论(0) 推荐(0)
摘要:队列变换 bzoj-1692 Usaco-2007 Dec 题目大意:给定一个长度为$n$的字符串。每次从头或尾取出一个字符加到另一个字符串里。要求变换后生成的字符串字典序最小,求字典序最小的字符串。 注释:$1\le n\le 3\cdot 10^4$。 想法: 考虑暴力怎么做: 每次把当前字符串 阅读全文
posted @ 2018-12-12 15:14 JZYshuraK_彧 阅读(248) 评论(0) 推荐(0)
摘要:工艺 bzoj-2882 题目大意:题目链接。 注释:略。 想法: 跟bzoj1031差不多啊。 把串倍长后扫$sa$数组。 最后再统计答案即可。 Code: 小结:后缀数组有很多妙用啊。 阅读全文
posted @ 2018-12-12 15:01 JZYshuraK_彧 阅读(202) 评论(0) 推荐(0)
摘要:字符加密Cipher bzoj-1031 JSOI-2007 题目大意:题目链接。 注释:略。 想法: 后缀数组裸题啊。 后缀数组其实背下来板子之后有几个数组记住就可以了。 $sa_i$表示排名为$i$的后缀所对应的下标。 $rk_i$表示下标为$i$的后缀的排名。 $ht_i$表示排名为$i$的后 阅读全文
posted @ 2018-12-12 14:55 JZYshuraK_彧 阅读(177) 评论(0) 推荐(0)
摘要:万径人踪灭 bzoj-3160 题目大意:给定一个ab串。求所有的子序列满足:位置和字符都关于某条对称轴对称而且不连续。 注释:$1\le n\le 10^5$。 想法: 看了大爷的题解,OrzOrz。 因为对称轴可以是两个字符中间的位置,所以我们把字符串按照$Manacher$的形式倍增。 我们希 阅读全文
posted @ 2018-12-12 09:08 JZYshuraK_彧 阅读(163) 评论(0) 推荐(0)
摘要:Difference bzoj-2213 Poi-2011 题目大意:已知一个长度为n的由小写字母组成的字符串,求其中连续的一段,满足该段中出现最多的字母出现的个数减去该段中出现最少的字母出现的个数最大。求这个个数。 注释:$1\le n\le 10^6$。 想法:“在线”的dp题。 状态:$dp[ 阅读全文
posted @ 2018-08-26 13:58 JZYshuraK_彧 阅读(192) 评论(0) 推荐(0)
摘要:Bill的挑战 bzoj-1879 Sdoi-2009 题目大意: 注释:$1\le t \le 5$,$1\le m \le 15$,$1\le length \le 50$。 想法: 又是一个看数据范围想做法的题,我们想到状压dp。 看了题解... ...网上给的状态是f[len][s]表示长度 阅读全文
posted @ 2018-07-27 23:00 JZYshuraK_彧 阅读(198) 评论(0) 推荐(0)