第三次
警惕网站特性,512 及以上的空间限制都是假的
警惕 MO 势力入侵 OI
A
设 $f_{a,b,c,d}$ 表示从 $(a,b)$ 到 $(c,d)$ 的回文路径数,容易做到 $O(n^2m^2)$。
注意到只有 $d=n+m-a-b-c+2$ 的状态有用,所以第四维可以直接扔掉,复杂度 $O(n^2m)$。
B
阅读程序题。
手动模拟,考虑伪代码中的 Left
(即当前要排序的区间中第一个数):
- 若第一位为 $\text{nan}$,则伪代码中
A[i] < Left
恒不成立,那么第一位保持 $\text{nan}$ 不变,继续排 $[L+1,R]$。 - 若第一位为正整数,则伪代码中把
A[i] < Left
的位置放在第一位左侧,其余位置放在第一位右侧,
注意到 A[i] < Left
的位置都是正整数,所以直接把它们排好序放在左侧,继续排右侧的数即可。
综上,扫描序列,扫到 $\text{nan}$ 不管,扫到正整数就把小于它的,还没放的数从小到大放在它前面,容易做到 $O(n\log n)$。
C
MO 题。
若 $n$ 是奇数,加一个 $0$ 规约成偶数。
将 $a_i$ 从小到大排序,设 $d_i=a_{2i}-a_{2i-1}$,则有 $\sum d_i$ 为偶数,
把 $d_i$ 看成相邻两个 $a_i$ 在数轴上的距离,则有 $\sum d_i\le m-\dfrac n2<n$。
构造 $\{e_{\frac n2}\}$ 使得 $\sum d_ie_i=0$,则容易构造 $\sum a_ic_i=0$。
考虑规约问题,若 $\max d_i\ne\min d_i$,在 $d$ 中删除 $\max d_i,\min d_i$,加入 $\max d_i-\min d_i\ne 0$ 得到 $d'$,
构造 $\{e'_{|d'|}\}$ 使得 $\sum d'_ie'_i=0$,则可以推出 $\{e_{|d|}\}$ 使得 $\sum d_ie_i=0$。
此时 $|d|$ 减少 $1$,而 $d$ 中总没有 $0$,所以 $\sum d_i$ 减少 $2\min d_i\ge 2$,则总有 $\sum d_i$ 为小于 $2|d|$ 的偶数。
特别地,若 $\max d_i=\min d_i$,则 $|d|$ 一定为偶数,
(反证法:若 $|d|$ 为奇数,$d_i$ 全为奇数则不满足 $\sum d_i$ 为偶数,$d_i$ 全为偶数则不满足 $\sum d_i<2|d|$,因为 $2$ 是最小的正偶数)
所以此时交错构造 $1,-1$ 即可。
D
从网上贺一张图。
考虑操作 $[3,10]$,发现涉及到 $14,5,6,7,8,17$ 点。
观察规律,设 $l$ 往右上最远走到 $a$,则点 $a$,及 $a$ 到 $\operatorname{lca}(l,r)$ 的左儿子(不含)链上每个点的右兄弟(若存在)被涉及到。
$r$ 同理。树剖维护之。
赛时点 $\color{green}{\sqrt{}\text{Submitted}}$ 可以看自己最后一发成功的提交,502 Waiting 不属于成功的提交,可以根据这个在赛时判断某一发提交有没有 502。