02 2023 档案
摘要:显然可以直接差分。 但是我看题的时候看成了多次查询。 所以我就写了个线段树。 注意到一个油漆桶被多次覆盖一个颜色是没有贡献的,所以考虑线段树的每个节点维护 c[0/1][0/1][0/1] 分别表示 333 种原色是否出现的方案数。 接着维护一个 tag,可以使用 unordered_set 等结构
阅读全文
摘要:SAM 经典题。 考虑建出 SAM,第 kkk 小的子串其实就是自动机上从起点开始字典序第 kkk 小的路径上的字符串。 因此可以考虑设 fif_ifi 表示从 iii 出发的不同路径个数,那么 fu=1+∑(u,v)∈SAMfvf_u = 1 +\sum \limits_{(u,v) \in \
阅读全文
摘要:考虑先建出后缀自动机。 后缀自动机一个常用性质:每个状态表示所有字符串的 Endpos\operatorname{Endpos}Endpos 集合完全相等,也就是出现次数完全相等。另外一个结论,每个状态表示的所有字符串,一定是其字符串中最短和最长字符串之间。即对于构建自动机的 lenilen_il
阅读全文
摘要:可以发现,如果固定 lll,那么 gcd(al,al+1,⋯ ,ar)\gcd(a_l, a_{l+1}, \cdots, a_r)gcd(al,al+1,⋯,ar) 显然单调递减。 接着可以发现,lll 固定时,随着 rrr 的增大,gcd\gcdgcd 的不同个数并不多。 可以这样理解
阅读全文
摘要:莫比乌斯函数定义和相关性质 对于数 nnn,设其质因数分解的结果为 n=p1q1×p2q2×⋯×pkqkn= {p_1}^{q_1} \times p_2^{q_2} \times \cdots \times {p_k}^{q_k}n=p1q1×p2q2×⋯×pkqk,定义对于 nnn
阅读全文
摘要:考虑二分 LCP,显然 LCP 是有单调性的。 然后维护一下哈希,用 multiset 判断存在性,就可以做到两只 log\loglog。 ABC 还卡了 109+710^9+7109+7 的单模哈希,所以赛时用了双模。 #include <iostream> #include <cstring>
阅读全文
摘要:先考虑什么时候输出 −1-1−1。 我们令 dis1,udis_{1,u}dis1,u 表示树 aaa 中从 xxx 点走到 uuu 经过的边数,同理 dis2,udis_{2,u}dis2,u 表示树 bbb 中从 yyy 点到 uuu 经过边数。 我们对于一个点 ppp,当且仅当 dis1,
阅读全文