第八次
A
将 $a_i$ 分解质因数,设 $b_i=[\exists j,i|a_j]$,则 $i$ 是答案,当且仅当 $\forall j|i,b_j=0$。
B
二分 $\min(|x_i-x_j|,|y_i-y_j|)$,考虑 check 当前答案 $k$。
枚举点对中 $x$ 较大的点 $(x_i,y_i)$,则另一个点只能选 $x_j\le x_i-k$ 的 $j$ 点,
只需判断这些点中是否存在 $|y_i-y_j|\ge k$ 的 $j$ 点,维护前缀最值即可。
C
设 $f_{i,j}$ 表示 $i$ 个数填出 $j$ 的方案数,则 $f_{i,j}=f_{i-1,j-1}+f_{i,j-i}-f_{i-m-1,j-i}$,
$f_{i-1,j-1}$ 即为 $i-1$ 个数凑出 $j-1$ 的方案数,加一个 $1$ 即可用 $i$ 个数凑出 $j$,
$f_{i,j-i}$ 即为 $i$ 个数凑出 $j-i$ 的方案数,整体加一即可用 $i$ 个数凑出 $j$,
$f_{i-m-1,j-i}$ 即为 $i-m-1$ 个数凑出 $j-i$ 的方案数,整体加一,且前面加上 $m+1$ 个 $1$ 即可用 $i$ 个数凑出 $j$,
需要减去这些相同数出现超过 $m$ 次的方案。
D
扫描询问右端点 $r$,维护 $c_i$ 表示询问左端点为 $i$ 的答案。
考虑加入右端点为 $r$ 的绳子 $[l,r]$ 的贡献,
询问左端点 $>l$ 时 $[l,r]$ 不可能用上,所以对 $c_i|i>l$ 没有影响,
询问左端点 $\le l$ 时,若不用 $[l,r]$,$i$ 点能走到 $\ge l$ 的位置,则用上 $[l,r]$,$i$ 点能走到 $r$,
即更新 $c_i\gets r|i\le l,c_i\ge l$,吉司机线段树维护之。

浙公网安备 33010602011771号