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 想得太慢了,想完之后写的也很慢,导致没写出来。

posted @ 2024-02-16 20:22  Xy_top  阅读(9)  评论(0编辑  收藏  举报