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]\)内。