摘要: 字符串,太抽象! 前置知识 自动机 一些约定 若无特殊说明,以下默认字符串下标从 $1$ 开始。 引入 在做字符串题的过程中,我们经常需要对一个字符串的所有子串做一些事情,但是直接暴力做是 $\mathcal{O}(n^2)$ 的,非常慢。 于是有些毒瘤跳了出来,说:“我们能不能造出一个能够接受一个 阅读全文
posted @ 2023-02-20 12:53 bykem 阅读(48) 评论(0) 推荐(0)
摘要: 理论前置 知道啥是多项式(即 $f(x)=\displaystyle\sum_{i=0}^{n-1}f_ix^i$ 这一类东西)。 知道啥是多项式的卷积(即 $(f\times g)(x)=h(x)$,其中 $h_i=\displaystyle\sum_{k=0}^if_kg_{i-k}$)。 知道 阅读全文
posted @ 2023-02-15 20:34 bykem 阅读(80) 评论(0) 推荐(0)
摘要: 数论分块 对于形如 $$ \sum_{i=1}^nf(i)g(\lfloor\frac{n}{i}\rfloor) $$ 的式子,我们可以发现 $\lfloor\dfrac{n}{i}\rfloor$ 的值可以分成若干块,具体的,设上一块的右边界为 $r'$,则当前块的左边界 $l=r'+1$,右边 阅读全文
posted @ 2023-01-26 15:01 bykem 阅读(190) 评论(0) 推荐(0)
摘要: $$ \def\or{\operatorname{or}} \def\and{\operatorname{and}} \def\xor{\operatorname{xor}} \def\not{\operatorname{not}} \begin{aligned} &(x\or y)\and z=( 阅读全文
posted @ 2023-01-13 20:46 bykem 阅读(20) 评论(0) 推荐(0)
摘要: 线段树练手好题。 直接上线段树五问: 维护的信息是什么? 由于 $c\le 20$,我们不妨对线段树的每个节点维护一个 $f_k$ 表示在对应区间里选择 $k$ 个数相乘的所有方案的和。 怎么合并两个信息? 对于两个信息 $f_k$ 和 $g_k$,设合并后的信息为 $h_i$,根据乘法分配律,$f 阅读全文
posted @ 2022-12-31 14:59 bykem 阅读(26) 评论(0) 推荐(0)
摘要: 牛逼逼题。 Subtask 1 有手就行。 void Subtask1() { E x, y; cin >> x >> y; cout << -((x + y) << 1); } Subtask 2 同上。 void Subtask2() { E x; cin >> x; cout << S(-(x 阅读全文
posted @ 2022-12-28 15:53 bykem 阅读(262) 评论(0) 推荐(0)