随笔分类 - 字符串
摘要:"UOJ Round 15" 大部分题目没有AC,我只是水一下部分分的题解... 225 "【UR 15】奥林匹克五子棋" 题意:在n m的棋盘上构造k子棋的平局 题解: 玩一下发现k=1, k=2无解,然后间隔着,上下两行相同: 这样构造下来就行了。 然后要 特判n=1 或 m=1 ,这时候k=2
阅读全文
摘要:"[Sdoi2017]硬币游戏" 题意:硬币序列,H T等概率出现,$n \le 300$个人猜了一个长为$ m \le 300$的字符串,出现即获胜游戏结束。求每个人获胜概率 考场用了 "1444: [Jsoi200\]有趣的游戏" 的做法,40分 标解好神! 思想就是 用N表示所有没有人获胜的状
阅读全文
摘要:"3160: 万径人踪灭" 题意:求一个序列有多少不连续的回文子序列 一开始zz了直接用$2^{r_i} 1$ 总 回文子串 后者用manacher处理 前者,考虑回文有两种对称形式(以元素/缝隙作为对称轴) f[i],i为奇数表示以缝隙对称,偶数表示以元素i 1对称,对答案的贡献就是$2^{f[i
阅读全文
摘要:HEOI2016 题解 Q:为什么要在sdoi前做去年的heoi题 A:我省选药丸 http://cogs.pro/cogs/problem/index.php?key=heoi2016 D1T1 树 树剖直接做 或者操作逆序,并查集维护自己和祖先中第一个打标记的点, 注意1号点本身有标记,mark
阅读全文
摘要:"4698: Sdoi2008 Sandy的卡片" 题意:差分后就是多个串LCS SAM+map大法好 模板打错 智力 2 cpp include include include include include include using namespace std; typedef long lo
阅读全文
摘要:复习字符串 KMP AC自动机 manacher SA SAM AC自动机 Fail树 祖先是后代节点对应字符串的后缀 给模式串建AC自动机,文本串中模式串出现次数:走到的每个节点fail祖先单词结尾个数;模式串在文本串中出现次数:文本串走的时候cnt++,子树cnt和。 队列中就是拓扑序 DP 考
阅读全文
摘要:" 219. 【NOI2016】优秀的拆分" 题意:求有多少AABB样子的子串,拆分不同的同一个子串 算多个 一开始一直想直接求,并不方便 然后看了一眼 "Claris" 的题解的第一行就有思路了 如果分开,求$f[i]$以i结尾AA形式子串和$g[i]$以i开始AA形式子串 就可以套路了 使用常用
阅读全文
摘要:"4516: [Sdoi2016]生成魔咒" 题意:询问一个字符串每个前缀有多少不同的子串 做了一下SDOI2016R1D2,题好水啊~~随便AK~~ 强行开map上SAM 每个状态的贡献就是$Max(s) Min(s)+1$ 插入的时候维护一下就行了 cpp include include inc
阅读全文
摘要:"4259: 残缺的字符串" 题意:s,t,星号任意字符,匹配方案数 和上题一样 多乘上一个$a_{j+i}$就行了 cpp include include include include include using namespace std; typedef long long ll; cons
阅读全文
摘要:"4503: 两个串" 题意:兔子们在玩两个串的游戏。给定两个只含小写字母的字符串S和T,兔子们想知道T在S中出现了几次, 分别在哪些位置出现。注意T中可能有“?”字符,这个字符可以匹配任何字符。 ~~为什么智障游戏总要让兔子来玩~~ 受到上题影响,直接每个字符算一遍最后加上?的个数,26倍常数完美
阅读全文
摘要:"CF528D. Fuzzy Search" 题意:DNA序列,在母串s中匹配模式串t,对于s中每个位置i,只要s[i k]到s[i+k]中有c就认为匹配了c。求有多少个位置匹配了t 预处理$f[i][j]$表示位置i可以匹配字符j 分别考虑每一个字符c,对s的每个位置i求出用$s[i,i+m 1]
阅读全文
摘要:"CF291E" 题意:一棵树,每条边上有一些字符,求目标串出现了多少次 直接求目标串的fail然后一边dfs一边跑kmp 然后就被特殊数据卡到$O(n^2)$了... 因为这样kmp复杂度分析的基础就没有了,now指针可能每个孩子都减少n次 所以怒加trie图优化 貌似有人写了倍增+哈希的做法..
阅读全文
摘要:传送门 题意: 多次询问,给出一些后缀,求两两之间$LCP$之和 哈哈哈哈哈哈哈竟然$1A$了,刚才还在想如果写不好这道题下节数学就不上了,看来是上天让我上数学课啊 $Suffix\ Virtual\ Tree$ 没有多次询问就是那道差异了 多次询问总次数$O(n)$,建出后缀树每次建虚树就行了 然
阅读全文
摘要:传送门 题意: s个DFA,选出尽量多的自动机a0, a1, a2, . . . , at,使得a1包含a0、a2包 含a1,以此类推。s ≤ 50。 DFA的字符集为{0,1},有的节点是输出源,节点数n ≤ 50。 判断出包含关系后就是裸的最长路,求$SCC$后$DP$就好了 重点在判断包含:
阅读全文
摘要:和我签订契约,成为魔法少女吧
阅读全文
摘要:求这玩意: 对于字符串S的前i个字符构成的子串,既是它的后缀同时又是它的前缀,并且该后缀与该前缀不重叠,将这种字符串的数量记作num[i] 对1,000,000,007取模的结果 n≤5,L≤1,000,000 发现$num[i]$有和$fail[i]$类似的递增性质,$num[i]<num[i-1
阅读全文
摘要:3790: 神奇项链 Description 母亲节就要到了,小 H 准备送给她一个特殊的项链。这个项链可以看作一个用小写字 母组成的字符串,每个小写字母表示一种颜色。为了制作这个项链,小 H 购买了两个机器。第一个机器可以生成所有形式的回文串,第二个机器可以把两个回文串连接起来,而且第二个机器还有
阅读全文
摘要:题意: 求最长子串使得它有四个相同的回文串SSSS相连组成 枚举中间x 找右边的中间y满足 y-r[y]<=x y<=x+r[x]/2 用个set维护 注意中间只能是#
阅读全文
摘要:2565: 最长双回文串 Description 顺序和逆序读起来完全一样的串叫做回文串。比如acbca是回文串,而abc不是(abc的顺序为“abc”,逆序为“cba”,不相同)。输入长度为n的串S,求S的最长双回文子串T,即可将T分为两部分X,Y,(|X|,|Y|≥1)且X和Y都是回文串。 顺序
阅读全文
摘要:2084: [Poi2010]Antisymmetry Description 对于一个01字符串,如果将这个字符串0和1取反后,再将整个串反过来和原串一样,就称作“反对称”字符串。比如00001111和010101就是反对称的,1001就不是。现在给出一个长度为N的01字符串,求它有多少个子串是反
阅读全文