Article Index

杂题 240206-1

Published on

题意

现在给出 $n, A, B, C$,求有多少个长度为 $n$ 的数组 $w$ 满足存在 $a < b < c < d$ 使得 $w_a + w_{a + 1} + \ldots + w_{b-1} = A$,$w_b + w_{b + 1} + \ldots + w_{c-1} = B$,$w_c + w_{c+1} + \ldots + w_d = C$。

$n = 40, A = C = 5, B = 7$

题解

注意到 $A, B, C$ 都很小,所以他们都非常紧凑,我们把一个数 $x$ 看作 $1$ 后面跟 $x - 1$ 个 $0$(比如把 $5$ 看成 $10000$,把 $1145$ 看成 $11100010000$)。所以合法的 $w$ 只需要包含 $1xxx1yyyy1zzz$(其中 $x$ 有 $A - 1$ 个,其他相同,但每个 $x$ 不必都是 $0$,因为只需要保证在端点处刚好分割即可)。于是 DP 解决。


No comments

Post a comment