Gravatar
RpUtl
积分:1505
提交:162 / 303

特殊性质

模拟即可,时间复杂度 $O(\sum |s_i|)$,期望得分 $10$。

$n\le 12$

考虑状态压缩 dp,设 $f_{i,S}$ 表示将集合 $S$ 中的所有串插入到一个深度为 $i$ 的节点的方案数。

使用枚举子集的方式分裂 $S$ 到 $i+1$ 去转移,时间复杂度 $O(3^n|s_i|)$。貌似可以用高维前缀和优化到 $O(2^n|s_i|n)$。期望得分 $50$。

$n\le 20$

正解和特殊性质关系不大。个人觉得正解要比特殊性质好写。

不难发现,若确定了每个字符串 $s_i$,则字典树的节点个数为:

$$\sum_{S}(-1)^{|S|-1}\text{LCP}(S)$$

其中 $\text{LCP}(S)$ 表示集合 $S$ 中所有字符串的最长公共前缀。

好的,若 $s_i$ 未确定,如何计算 $\text{LCP}(S)$其实非常简单?枚举最长公共前缀的长度 $i$,只需要保障前 $i$ 位相同,第 $i+1$ 位不相同即可,时间复杂度为 $O(2^n|s_i|)$,期望得分 $100$。


题目4299  学姐的下午茶 AAAAAAAAAA      3      评论
2026-02-07 15:38:59