第十三次
被 翻 了
A
xt 最后一步肯定选四角,所以 fengwu 肯定选与四角距离最大值最小的点,
所以 xt 第一步肯定占掉与四角距离最大值前 $k$ 小的点。
B
奇妙做法,差分优化 DP。令排列 $p$ 的价值为 $f(n,p,s)$。
设 $f_{i,j}$ 表示长度为 $i$,价值为 $j$ 的排列个数,考虑往后填一个数,则对 $k\le i+1$,有转移:
$$ \begin{cases} f_{i+1,\min(j,k)}\gets f_{i+1,\min(j,k)}+f_{i,j}&s_i=0\\ f_{i+1,\max(j+1,k)}\gets f_{i+1,\max(j+1,k)}+f_{i,j}&s_i=1 \end{cases} $$
(二式 $j$ 要加一的原因是,$\max(j+1,k)$ 取到 $j+1$ 当且仅当 $k\le j$,而原排列中 $\ge k$ 的数都要加一,所以 $j$ 要加一)
场上只想到这一步……然而可以把 $\max,\min$ 分讨掉,对 $k\le j$ 和 $k>j$ 分别转移,
然后发现 $f_{i,j}$ 可以转移到 $f_{i+1}$ 的一个区间,在 $f_{i+1}$ 上差分做区间加即可。
C
结论:设点集 $S$ 的直径端点为 $x_1,y_1$,点集 $T$ 的直径端点为 $x_2,y_2$,则 $S\cup T$ 的直径端点一定 $\subseteqq\{x_1,y_1,x_2,y_2\}$。
线段树维护区间直径端点即可。

浙公网安备 33010602011771号