第十一次
A
限制即 $\operatorname{lcm}|$ 原数,考虑把 $\operatorname{lcm}$ 和原数压进状态。
$\mathop{\operatorname{lcm}}\limits_{i=1}^9 i=2520$,所以 $\operatorname{lcm}|2520$,而 $2520$ 的约数只有 $48$ 个,直接离散化存进状态,
而 $\operatorname{lcm}|$ 原数等价于 $\operatorname{lcm}|$ 原数 $\bmod\ 2520$,所以只需要存原数 $\bmod\ 2520$,
总状态数 $20\times 48\times 2520\approx 2.5\times 10^6$,可以通过。
B
不会 AC 自动机。
设 $f_{i,j}$ 表示 $T$ 中长度为 $x$,哈希值为 $y$ 的字符串数,然后发现 $x$ 只有 $\sqrt{\sum|s_i|}$ 种,
修改操作直接在 $f$ 上改,查询时考虑枚举文本串 $t$ 长度为 $k$ 的子串,其中 $\exists s_i,k=|s_i|$,
则 $k$ 也只有 $\sqrt{\sum|s_i|}$ 种,在 $f$ 中累计这些子串的出现次数即可。
C
选 $(a_i,b_i)$ 的贡献是自己 $+a_i$,对方 $-b_i$,对差的贡献是 $a_i+b_i$,
所以直接按 $a_i+b_i$ 排序,两人依次选即可。
D
设 $f_i$ 为从 $i$ 逃脱花费的最小体力,则有 $f_i=\min\limits_{j\in\text{subtree}(i)}b_ja_i+f_j$,
即现有一堆一次函数 $F_j(x)=b_jx+f_j|j\in\text{subtree}(i)$,求 $F_j(a_i)$ 的最小值,李超线段树合并维护之。