P12238
看到前缀,考虑使用 trie,先把所有字符串扔到里面去。
然后发现要求方案数,于是考虑 dp,在本题中自然想到在 trie 上 dp 了。
具体而言,我们观察到 trie 有一种很好的性质:对于 trie 上的某个节点
这个性质有什么用呢?它意味着,我们只需选择某个节点,就可以将其子树内的所有字符串全部归于一类。
这样,问题转化为,在所有节点中选出
然后这题就做完了,实现有一些小细节会在代码中标注。
看到前缀,考虑使用 trie,先把所有字符串扔到里面去。
然后发现要求方案数,于是考虑 dp,在本题中自然想到在 trie 上 dp 了。
具体而言,我们观察到 trie 有一种很好的性质:对于 trie 上的某个节点
这个性质有什么用呢?它意味着,我们只需选择某个节点,就可以将其子树内的所有字符串全部归于一类。
这样,问题转化为,在所有节点中选出
然后这题就做完了,实现有一些小细节会在代码中标注。