CF1928
第一次写整场 CF 的题解。
A:
只有一边长度是 $2$ 的倍数才可以选择剪下拼成另一个长方形,两边都判一下就行了:
B:
容易发现,加上某个排列长度为 $n$ 的后,最多可以使两个相减为 $n-1$ 的两个元素相等,于是双指针即可。
C:
先枚举他所得到的数是若干轮 $2k-2$ 中的前 $k$ 个还是后 $k-2$ 个,接着推式子就行了。
D:
分几组与收益成单峰关系,可以三分。
E:
若可行,则先将所有数减去 $x\% y$ 再除以 $y$,这样就能够得到若干个首项为 $0$,公差为 $1$ 的等差数列。设 $f_{s}$ 为若干个首项为 $0$,公差为 $1$ 的等差数列拼成的序列和为 $s$ 的方案数,转移显然有 $f_{s} = f_{s-j\times (j+1)/2}+j+1$,且这是根号级别的,所有 $f$ 的预处理可在 $O(n\sqrt {n})$ 内完成。询问时枚举第一次加操作用几次就可以了。
总结
E 想得太慢了,想完之后写的也很慢,导致没写出来。