AGC 056 题解

AGC 056 题解

A

爆搜\(n\leq 11\)

对于\(n>11\)的情况,将后\(6\)\(6\)列构造拼上前\((n-6)*(n-6)\)的正方形。

B

考虑从大到小填数字。

每次相当于将跨过当前位置的区间删去,然后计算左右两边。

但是这样会算重复。

假设目标的\(x\)数组已知。每次删去的是尽可能靠左的。

\(dp_{l,r,k}\)表示当前考虑区间\([l,r]\),最大值必须在区间\([k,r]\)内的方案数。

前缀和优化转移,时间复杂度\(O(N^3)\)

C

考虑原数组的前缀和。

每个限制就是钦定前缀和的一些地方相等。

考虑一层一层地放,从\(0\)开始,每次将前缀和等于这个值的那一层加入。

每一个位置相邻的位置必须属于上一层或下一层。

直接做可以线性。

D

存在解当且仅当可以分成\(\frac{n}{2}\)组,\(Alice\)选择一组中的一个,其余任意选择都在\([L,R]\)内。

posted @ 2021-12-05 23:42  WWW~~~  阅读(219)  评论(0编辑  收藏  举报