摘要: 主要题意 求字符串$S$与$T$不同的子串总数 题解 先考虑$l = 1, r = |T|$的情况: 因为任意子串为字符串前缀的某些后缀,那么令$Lim[i]$表示$T[1...i]$在$S$上所能匹配的最大长度,$Posi[i]$表示$T$的后缀自动机上的点$i$的$endpos$集合中最靠前的位阅读全文
posted @ 2018-12-12 16:48 Colythme 阅读(6) 评论(0) 编辑
摘要: 题意 现在给定你n个字符串,询问每个字符串有多少子串(不包括空串)是所有n个字符串中至少k个字符串的子串(注意包括本身)。 题解 首先是广义后缀自动机,就是每次将$last$归为$Root$,从而将几个后缀自动机拼在一起处理 那么现在需要知道每个字串在$n$个母串中的出现次数,所谓字串,就是所有前缀阅读全文
posted @ 2018-12-07 20:51 Colythme 阅读(4) 评论(0) 编辑
摘要: 题意 一串字符串的子串能够被拆分成不重叠的$AABB$($A, B$为该子串的子串)的方案数 题解 考虑对子串进行隔离处理,枚举隔离长度$l$ 那么在此隔离长度下若存在子串满足$AABB$,那么它必定横跨两个隔离点,那么此时求出每相邻两个隔离点的最长公共前缀$x$和最长公共后缀$y$(跑两遍$SA$阅读全文
posted @ 2018-12-07 11:06 Colythme 阅读(7) 评论(0) 编辑
该文被密码保护。
posted @ 2018-12-02 17:23 Colythme 阅读(8) 评论(0) 编辑
摘要: - $fhqTreap$与$Treap$的差异 $fhqTreap$是$Treap$的非旋版本,可以实现一切$Treap$操作,及区间操作和可持久化 $fhqTreap$非旋关键在于分裂与合并$(Split \ \& \ Merge)$ - $Split$ 分裂相当于将一棵平衡树分为两棵平衡树,比如阅读全文
posted @ 2018-11-23 17:30 Colythme 阅读(11) 评论(0) 编辑
摘要: - 概念引入 - 数论函数 指定义域为正整数的函数 定义其加法为逐项相加,即$(f + g)(n) = f(n) + g(n)$ 定义其数乘为逐项相乘,即$(xf)(n) = x × f(n)$ - 单位元 单位元是集合中一种特别的元素,当单位元与其它元素相结合时,不会改变其它元素的值 - 逆元 逆阅读全文
posted @ 2018-11-16 23:12 Colythme 阅读(18) 评论(0) 编辑
摘要: - 概念引入 - 阶 对于$p \in N_+$且$(a, \ p) = 1$,满足$a^r \equiv 1 (mod \ p)$的最小的非负$r$为$a$模$p$意义下的阶,记作$\delta_p(a)$ - 原根 定义:若$p \in N_+$且$a \in N$,若$\delta_p(a) 阅读全文
posted @ 2018-11-13 17:21 Colythme 阅读(16) 评论(0) 编辑
摘要: - 概念引入 - 点值表示 对于一个$n - 1$次多项式$A(x)$,可以通过确定$n$个点与值(即$x$和$y$)来表示这唯一的$A(x)$ - 复数 对于一元二次方程 $$x^2 + 1 = 0$$ 在实数范围内无解,那么我们将实数范围扩充,就得到了复数,再令$i$为该方程的解,即 $$i^2阅读全文
posted @ 2018-11-13 11:01 Colythme 阅读(21) 评论(0) 编辑
摘要: 线段树求直径可以求任意子树(包括连子树都不算的分散节点集合)的直径,适用范围广。 线段树的每个节点所对应的区间$[L, R]$,指代了$Dfn$在$[L, R]$内节点,其中线段树上每个节点存储了$diam$(当前区间直径)及$lp, \ rp$(当前直径对应的左右端点),每次$Merge$操作分为阅读全文
posted @ 2018-10-31 09:22 Colythme 阅读(21) 评论(0) 编辑
摘要: 题目描述 $ZZQ$ 是一国之主。 这个国家有$N$个城市, 第$i$个城市与第$(i + 1) (mod N)$和$(i - 1) (mod N)$在一个正$N$边形相连。 $ZZQ$ 又新建了$N - 3$条道路。这些道路都是连接两个城市的直线 段,且任意两条线段都只可能在城市处相交,不会在旧的阅读全文
posted @ 2018-10-29 23:13 Colythme 阅读(18) 评论(0) 编辑