
===字符串===
文章平均质量分 87
NeosKnight
这个作者很懒,什么都没留下…
展开
-
【LuoguP7114】[NOIP2020] 字符串匹配 (扩展KMP算法)
题目描述传送门Sol看到是一个与周期串有关的问题,朴素的KMP算法求出来的boder只能帮助我们求出一个周期串的最小循环节,这在本题中是不够的。因为我们要知道对于一个 AB 来说它最多能往后循环多少次。虽然似乎可以用二分来解决。考虑 扩展KMP算法:用于在线性时间内求解一个串的所有后缀与另一个串的 LCP 长度。暴力算法显然是 O(n2)O(n^2)O(n2) 的,,,和其他字符串算法类似,,,这里也是通过充分利用已经匹配完得到的信息来将整个算法的复杂度降低至线性。我们记Z[i]Z[i]Z[原创 2021-01-23 12:15:23 · 652 阅读 · 1 评论 -
【LuoguP2414】[NOI2011]阿狸的打字机
题目链接题意先给你一个空字符串,每次将该字符串打印一份或者在它的末尾添加或删除一个字符询问第x次答应的字符串在第y次中出现了多少次Sol先想到一个显然的暴力,把每次的字符串暴力存下来,然后看一下询问了哪一些模式串,用KMP算法求出next数组后去匹配但是这太慢了,于是我们考虑用其他字符串数据结构,既然有这么多串,那么先来看看trie或AC自动机(一个东东啦)行不行...原创 2018-08-02 08:50:39 · 275 阅读 · 0 评论 -
【LuoguP4143】采集矿石(后缀数组求解子串字典序)
题目链接题意给出一个字符串,每一个位置上的字符有一个权值,统计满足如下条件的子串个数:它包含字符的权值和等于它在所有本质不同的子串中的字典倒序Sol首先暴力的思路就是把每一个串抠出来sort,直接算.然后所有字符相同就是方便了我们处理字典序,在写这一档分时,我们应该是枚据一个左端点,然后二分右端点为什么呢?因为当字符相同时字典序只和长度有关,右端点每往右移动一下...原创 2018-08-06 22:07:09 · 309 阅读 · 0 评论 -
【CF 666E】Forensic Examination
洛谷题意:给你一个串SSS以及一个字符串数组T[1..m]T[1..m]T[1..m],qqq次询问,每次问SSS的子串S[pl..pr]S[pl..pr]S[pl..pr]在T[l..r]T[l..r]T[l..r]中的哪个串里的出现次数最多,并输出出现次数。如有多解输出最靠前的那一个。Sol(一遍就写出来了 SAMSAMSAM+线段树合并+倍增 , 顿时感觉码力大增 ,一发过样例然后...原创 2019-01-18 20:45:55 · 296 阅读 · 0 评论 -
【LuoguP4156】论战捆竹竿
题目链接题意简述你有一个长度为 n 的字符串 , 将它复制任意次 , 复制出的串的前缀可以与之前的串的后缀重叠在一起 , 问最后总共可能的长度数目 , 长度不能超过 www多组数据。n≤5∗105,w≤1018n\leq 5*10^5 ,w\leq 10^{18}n≤5∗105,w≤1018Sol显然每次可以重叠的部分是原串的一个 boder假设这个boder长度为 LLL , 那么...原创 2019-02-18 19:02:57 · 636 阅读 · 0 评论 -
【LuoguP4770】[NOI2018] 你的名字
题目链接题意简述给定一个串 SSS多组询问 , 每次给定一个串 TTT 和一个 区间 [l,r][l,r][l,r]求串TTT 有多少个本质不同的子串 满足不是 S[l...r]S[l...r]S[l...r] 的子串Sol首先显然要么 SAMSAMSAM 要么 SASASA。这种带区间还要求本质不同的的一般用 SAMSAMSAM 好做些吧。先考虑每次询问的区间就是整个串我们怎么做...原创 2019-04-03 18:40:40 · 295 阅读 · 0 评论 -
【BZOJ 3682】Phorni
题目链接题目描述Phorni 是一个音之妖精,喜欢在你的打字机上跳舞。一天,阳光映射到刚刚淋浴过小雨的城市上时,Phorni 用魔法分裂出了许多个幻影,从 1 到 n 编号。她的每一个幻影都站在打出的字符串的一个位置上,多个幻影可以站在同一个位置上。每一个幻影代表的字符串即为从它站立位置开始的后缀,注意站立位置是从右往左数的。让我们形式化地描述一下,若第 i 个幻影站在 Pi 上,那么...原创 2019-05-10 10:54:00 · 317 阅读 · 0 评论 -
【LuoguP4081】[USACO17DEC]Standing Out from the Herd
题目链接题意给定多个字符串,每个串中仅在该串中出现的本质不同的子串个数。Sol多串匹配想到用广义SAM。之后从串的匹配角度不是很好做。发现一个本质不同的串最多只会贡献到一个串的答案里。那么建完广义SAM后,如果我们能够知道那些点是只有一个串能够到达并且知道是哪个的话我们就可以直接把这个点代表的本质不同的串给贡献到对应串的答案中。这个很好办,我们在建广义SAM的时候不考虑串之间的匹配,...原创 2019-05-21 15:03:36 · 267 阅读 · 0 评论 -
【LuoguP4482】[BJWC2018]Border 的四种求法
题目链接题意区间 bodern,q≤2∗105n,q\leq 2*10^5n,q≤2∗105Sol(暴力哈希/SA可以水过)字符串区间询问问题,考虑用 SAMSAMSAM 解决。boder相当于是询问区间 [l,r][l,r][l,r] 内满足 lcs(i,r)>=i−l+1lcs(i,r)>=i-l+1lcs(i,r)>=i−l+1 的最大的 ii...原创 2019-06-21 22:57:20 · 907 阅读 · 0 评论