摘要: "传送门" 题目概要: 给定一个模式串 $S$,然后给了 $n$ 个字符串,求这 $n$ 个串的循环同构在 $S$ 中出现次数。 循环同构:取从左开始任意长度子串置于末尾。 每次把一段旋律里面最前面一个音换到最后面就成为了原旋律的“循环相似旋律”,还可以对“循环相似旋律”进行相同的变换能继续得到原串 阅读全文
posted @ 2020-04-09 12:51 Suiyue_Li 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 数据结构大师 时间限制: 1 Sec 内存限制: 128 MB 题目描述 小$Z$是个数据结构高手,这天他得到了一个由左括号和右括号组成的字符串。随之而来的是 $m$ 次询问,对于第 $i$ 次询问,小Z需要回答出这个字符串的第$l_i$ 到$r_i$ 个字符组成的字串中最长的合法括号子序列的长度。 阅读全文
posted @ 2020-04-09 10:18 Suiyue_Li 阅读(356) 评论(0) 推荐(0) 编辑
摘要: hihocoder 1457 "传送门" 题目概要 给定 $n$ 个由数字组成的字符串,求所有不重复子串的权值(当成10进制数)和。 思路: 首先考虑单个字符串的情况,我们知道$SAM$的所有状态$substrings$的并集,刚好是所有不重复的子串。 记 $dp[st]$ 为状态 $st$ 所有子 阅读全文
posted @ 2020-04-07 17:29 Suiyue_Li 阅读(111) 评论(0) 推荐(0) 编辑
摘要: "toc" 写在前面:这篇博客是最近在 $SAM$ 的学习过程中记录下的笔记,大部分内容都来自 "zjp" 以及 "hihocoder" 两篇博客写的都已经很完善了,但我依然写下的这篇博客,目的也算是展示我的理解以及督促学习。 定义 我们依然引入以上博客的概念。 对于字符串 $S=aabbabd$ 阅读全文
posted @ 2020-04-04 18:38 Suiyue_Li 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 跳蚤 题目描述 NiroBC 姐姐奴役了一群跳蚤,并随时把它们丢到一台图灵机的纸带上。 一开始,纸带上没有跳蚤,每一个时刻,NiroBC 姐姐可能做以下三个操作之一: 1. 在位置x 放置一只每次向右(坐标增大方向)跳t 格的跳蚤。 2. 命令所有跳蚤向右跳跃一次,跳跃的距离为各自的t。 3. 给定 阅读全文
posted @ 2020-04-03 16:21 Suiyue_Li 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 引入: 在 $RMQ$ 问题(区间最值)中,有一个著名的 $ST$ 算法。原理是通过倍增实现。给定一个长度 $N$ 的数列,$ST$ 算法在经过 $O(NogN)$ 的预处理后,能够以 $O(1)$ 的复杂度在线查询下标 $l\to r$ 之间的数的最值。 原理: 设 $F[i,j]$ 表示数列 $ 阅读全文
posted @ 2020-03-28 18:16 Suiyue_Li 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 题目描述 敌方有 $n$ 只怪,每只的攻击力为 $a_i$,血量为 $d_i$。 我方只有一只攻击力为 $b$ 的怪。 每回合战斗的流程为: 我方选择敌方某只怪进行攻击,令其血量减少 $b$,若此时该只怪的血量$\leq$ 0则死亡。 若敌方第 $i$ 只怪仍然存活,则对我方造成 $a_i$ 的伤害 阅读全文
posted @ 2020-03-26 17:04 Suiyue_Li 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 中缀表达式求值 题目 给出一个表达式,其中运算符仅包含+, , ,/,^(加 减 乘 整除 乘方)要求求出表达式的最终值 数据可能会出现括号情况,还有可能出现多余括号情况 数据保证不会出现 =2^31的答案 数据可能会出现负数情况 输入: (2+2)^(1+1) 输出 :16 解题思路: 中缀表达式 阅读全文
posted @ 2020-03-25 00:01 Suiyue_Li 阅读(622) 评论(0) 推荐(0) 编辑
摘要: $O(n)$ 求出字符串 $S$ 以每个点为中点的最长回文半径,包括长为偶数的子串 char s[N], ms[N]; int p[N]; inline void init(char *s) { ms[0] = '@', ms[1] = '#'; for (int i = 1; s[i]; ++i) 阅读全文
posted @ 2020-03-23 17:51 Suiyue_Li 阅读(128) 评论(0) 推荐(0) 编辑
摘要: "TOC" 后缀数组 定义 令字符串 $S=S[1]S[2]S[3]...S[n]$ ,$S[i,j]$ 表示下标从$i$ 到 $j$ 的字串 $S$的后缀数组$A$被定义为一个数组,内容是 $S$的所有后缀经过字典排序后的起始下标。 即$A[i]$ 表示排名第几的后缀的起始下标 显然 $\fora 阅读全文
posted @ 2020-03-22 22:44 Suiyue_Li 阅读(355) 评论(0) 推荐(0) 编辑