根据 Claris 之语,合法的字符串长度在 n2 左右,所以当 n>21 时直接判否。
然后考虑状压 DP。
首先求出一个辅助数组 nxti,j 表示使得 Sk=j,k>i 的最小的 k。
然后考虑设 fs 表示使得 S1,k 满足字符集合 s 的阶乘字符串的最小的 k。
转移直接枚举新的字符,然后借助 nxt 转移即可。
注意处理 nxt 的时候要考虑大于 |S| 的情况,小心炸掉。
代码:
1 |
|
根据 Claris 之语,合法的字符串长度在 n2 左右,所以当 n>21 时直接判否。
然后考虑状压 DP。
首先求出一个辅助数组 nxti,j 表示使得 Sk=j,k>i 的最小的 k。
然后考虑设 fs 表示使得 S1,k 满足字符集合 s 的阶乘字符串的最小的 k。
转移直接枚举新的字符,然后借助 nxt 转移即可。
注意处理 nxt 的时候要考虑大于 |S| 的情况,小心炸掉。
代码:
1 | #include <cstdio> |
Related Issues not found
Please contact @Alpha1022 to initialize the comment