AtCoder AGC022E Median Replace (字符串、自动机、贪心、计数)
摘要:题目链接 https://atcoder.jp/contests/agc022/tasks/agc022_e 题解 感觉官方题解很神仙,听完另一种做法之后发现是自己太智障了 考虑一个串怎么样可以缩成 $1$, 可以采取如下贪心策略:从前往后扫描整个串,同时维护一个栈。每次把新元素压入栈顶,如果栈顶出
阅读全文
AtCoder AGC024F Simple Subsequence Problem (字符串、DP)
摘要:题目链接 https://atcoder.jp/contests/agc024/tasks/agc024_f 题解 考虑对每个串都求出它是几个给定的串的子序列。 在 $O(4^n)$ 暴力的基础上考虑优化,状态可以进行如下的压缩:用有序 字符串对 $(S,T)$ 代表当前已有字符串 $S$, 后面还
阅读全文
UOJ #395 BZOJ 5417 Luogu P4770 [NOI2018]你的名字 (后缀自动机、线段树合并)
摘要:NOI2019考前做NOI2018题。。 题目链接: (bzoj) https://www.lydsy.com/JudgeOnline/problem.php?id=5417 (luogu) https://www.luogu.org/problemnew/show/P4770 (uoj) http
阅读全文
BZOJ 3277 串 & BZOJ 3473 字符串 (广义后缀自动机、时间复杂度分析)
摘要:标签那么长是因为做法太多了。。。 题目链接: (bzoj 3277) https://www.lydsy.com/JudgeOnline/problem.php?id=3277 (bzoj 3473) https://www.lydsy.com/JudgeOnline/problem.php?id=
阅读全文
Codeforces 235C Cyclical Quest (后缀自动机)
摘要:题目链接: https://codeforces.com/contest/235/problem/C 题解: 对大串建后缀自动机 对询问串复制拆环。 这里一定要注意是复制一个循环节不是复制整个串!循环节是要整除的那种 然后要做的实际上是在大串上跑,每经过一个点求出当前的最长公共子串,如果大于等于$n
阅读全文
BZOJ 4032 Luogu P4112 [HEOI2015]最短不公共子串 (DP、后缀自动机)
摘要:这其实是道水题。。。 题目链接: (bzoj)https://www.lydsy.com/JudgeOnline/problem.php?id=4032 (luogu)https://www.luogu.org/problemnew/show/P4112 题解: Task 1 $O(n^2)$做法无
阅读全文
BZOJ 4278 [ONTAK2015]Tasowanie (后缀数组)
摘要:题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=4278 题解: 居然把后缀数组写成n^2的。。我真厉害。。 想了无数种方法,最后发现就是比后缀字典序排名,后缀数组即可 注意每个字符串的结尾处要加上一个$\inf$, 因为相当于要把空位尽
阅读全文
[加强版] Codeforces 835D Palindromic characteristics (回文自动机、DP)
摘要:题目链接: https://codeforces.com/contest/835/problem/D 注: 欢迎移步 https://codeforces.com/blog/entry/67839 题意: 一个回文串是$1$ 回文的,如果一个回文串的左半部分和右半部分一样且都是$k$ 回文串(右半部
阅读全文
BZOJ 4044 Luogu P4762 [CERC2014]Virus Synthesis (回文自动机、DP)
摘要:好难啊。。根本不会做。。基本上是抄Claris。。。 题目链接: (bzoj)https://www.lydsy.com/JudgeOnline/problem.php?id=4044 (luogu)https://www.luogu.org/problemnew/show/P4762 题解: 先观
阅读全文
BZOJ 2434 Luogu P2414 [NOI2011]阿狸的打字机 (AC自动机、树状数组)
摘要:题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2434 题解: 我写的是离线做法,不知道有没有在线做法。 转化一波题意,$x$在AC自动机上代表的字符串在$y$代表的字符串中出现的次数等于$x$在fail树的子树内有多少个点是$y$点T
阅读全文
BZOJ 2754 [SCOI2012]喵星球上的点名 (AC自动机、树状数组)
摘要:吐槽: 为啥很多人用AC自动机暴力跳都过了?复杂度真的对么? 做法一: AC自动机+树状数组 姓名的问题,中间加个特殊字符连起来即可。 肯定是对点名串建AC自动机(map存儿子),然后第一问就相当于问每个姓名串(以下称作“关键路径”)经过了多少个点名串(以下称做“关键点”) 在fail树中的子树中的
阅读全文
BZOJ 4327 [JSOI2012]玄武密码 (AC自动机)
摘要:题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=4327 题解: 做法挺显然,建出AC自动机之后在上面跑,标记所有走过的点,然后再进行递推,如果$fail[x]$被标记则$x$被标记,然后每一个关键点往上找即可 有一个常数优化的技巧: 如
阅读全文
BZOJ 1444 [JSOI2009]有趣的游戏 (AC自动机、概率与期望DP、矩阵乘法)
摘要:诶这题洛谷居然没有??? 题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1444 题解: 我见到主要有三种做法。 一是矩阵乘法。设$dp[t][i]$表示时间$t$之后在AC自动机$i$节点的概率,那么转移是一个矩阵乘法的形式,构造转移
阅读全文
BZOJ 4567 [SCOI2016]背单词 (Trie树、贪心)
摘要:题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=4567 题解: 显然答案一定小于$n\times n$, 字符串倒过来变成前缀建Trie, 题意转化如下: 每次可以在一棵树上标记一个点,要求标记一个点之前所有祖先都标记过,标记一个点的价
阅读全文
BZOJ 2085 luogu P3502 [POI2010]Hamsters (KMP、Floyd、倍增)
摘要:数组开小毁一生…… 题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2085 这题在洛谷上有个条件是“互不包含”,其实bzoj的数据也满足这个条件,否则我目前已知的所有做法都是错的。 个人觉得AC自动机可以用其他办法做,但是没试过 KMP
阅读全文
UOJ #219 BZOJ 4650 luogu P1117 [NOI2016]优秀的拆分 (后缀数组、ST表)
摘要:连NOI Day1T1都不会做。。。看了题解都写不出来还要抄Claris的代码。。 题目链接: (luogu)https://www.luogu.org/problemnew/show/P1117 (bzoj)https://www.lydsy.com/JudgeOnline/problem.php
阅读全文
UOJ #131 BZOJ 4199 luogu P2178【NOI2015】品酒大会 (后缀自动机、树形DP)
摘要:水是水,但是写出了不少问题,因此写一发博客。 https://www.luogu.org/problemnew/show/P2178 https://www.lydsy.com/JudgeOnline/problem.php?id=4199 http://uoj.ac/problem/131 首先我
阅读全文
BZOJ 1396 识别子串 (后缀自动机、线段树)
摘要:手动博客搬家: 本文发表于20181221 00:58:26, 原地址https://blog.csdn.net/suncongbo/article/details/85150962 嗯,以后博客内容就这样规定吧: 近期,以下三类题目做完之后必须写题解,其他的任意 数学、字符串、网络流 好了进入正题
阅读全文
SPOJ 1812 LCS2 - Longest Common Substring II (后缀自动机、状压DP)
摘要:手动博客搬家: 本文发表于20181217 23:54:35, 原地址 https://blog.csdn.net/suncongbo/article/details/85058680 人生第一道后缀自动机。 说实话SAM我还没学多么明白。 但是题还是要做的。 说起来这玩意真的很妙。可惜我智商低理解
阅读全文