题解 P3685 【[CERC2016]不可见的整数 Invisible Integers】

devout

2020-11-03 17:17:53

Solution

第四个AC的来水一发题解( 发现同方向上的一些提示是可以接在另一些提示后面的,考虑提示 $z$ 如果能接在 $x$ 的第 $y$ 位之后,那么他应该满足的条件是: - $\forall a\in z,a\in x$ - $x$ 在第 $y$ 后面的数在 $z$ 中相对顺序不变 那么我们可以当一个 $x$ 已经可以被另一个 $z$ 接在后面的时候,我们只去考虑 $z$ 就好了。 所以我们可以设计一个转移方程,用 $f[S][l][i][r][j]$ 表示现在已经不考虑的提示的集合为 $S$,向左方向走的当前考虑到的提示为 $l$,现在考虑到他的第 $i$ 位,向右方向走当前考虑到的提示为 $r$,现在考虑到他的第 $j$ 位的时候的最短的长度 那么转移的时候,可以转移到在后面添加一个下一位的数,或者之前出现过的数,或者更换当前考虑的 $l,r$ 转移的复杂度是 $O(2^n\times (10n)^2\times n)$ 左右的一个效率(大概...