Loading

AT_arc117_e [ARC117E] Zero-Sum Ranges 2

先把情况化成折线图,发现答案就是每层的组合数加起来,由于我们不关心层数,因此我们按照加入点的个数进行 DP。

考虑从上往下 DP,设 \(f_{i, j, k}\) 为填入 \(i\) 个数字,答案为 \(j\),可以填入数的空隙个数为 \(k\) 的方案数,此时我们不计入两边的空隙,但很明显两边的空隙都可以填数,这在状态转移时会体现出来。

枚举我们下一层需要填入的数字 \(x\),此时可以填入的空隙数量必然会变为 \(x - (k + 2)\),这个手玩亿会会就能知道,此时显然 \(j' = j + C_{x}^2\),将 \(x - 1\)\(k + 2\) 个盒子装起来,用插板法得出贡献系数为 \(C_{x - 1}^{k + 1}\),因此能得出状态转移方程:

\[f_{i + x, j + C_{x}^2, x - (k + 2)} = f_{i, j, k} \times C_{x - 1}^{k + 1} \]

但是你发现可能会有负数,于是你将上半部分与下半部分劈开,发现间隔可以自己调整,还是用这个 DP 就可以了。

posted @ 2025-09-06 09:10  Alexande  阅读(5)  评论(0)    收藏  举报