第二十次
A
对于 $k$,$\exists x\in[a,b],y\in[c,d],k|x,k|y$ 当且仅当 $\left\lfloor\dfrac bk\right\rfloor\ne\left\lfloor\dfrac{a-1}k\right\rfloor,\left\lfloor\dfrac dk\right\rfloor\ne\left\lfloor\dfrac{c-1}k\right\rfloor$。
对 $k$ 的取值整除分块即可。
B
设 $f_{i,j}$ 表示填了 $i$ 个串,最后一个串为 $j$ 的最短长度,则有 $f_{i+1,j}=\min\limits_{k=1}^n\{f_{i,k}+|s_j|-B(j,k)\}$,
其中 $B(j,k)$ 表示既是 $s_j$ 的前缀,又是 $s_k$ 的后缀的串的最大长度,可以 KMP 求出所有点值。
矩阵加速即可。
C
连通块数 $=$ 点数 $-$ 边数。
黑暗度为 $x$ 时,点数为 $\sum\limits_{i=1}^n[a_i\ge x]$,边数为 $\sum\limits_{i=1}^{n-1}[\min(a_i,a_{i+1})\ge x]$,
平衡树维护 $a_i$,$\min(a_i,a_{i+1})$ 的集合即可。

浙公网安备 33010602011771号