题目:https://ac.nowcoder.com/acm/contest/7009/F
题意:给出 n n n个单词,每个单词有一个权值 v a l val val,构造一个长度为L的串,求最大权值,计算权值时包含关系也要计算。即: a b c abc abc的 v a l val val为2, a b ab ab值为1,构造一个串 a b c abc abc的值为 2 + 1 = 3 2+1=3 2+1=3
思路:
- 考虑有 n n n个单词,多串匹配,显然是AC自动机,这道题有重复和包含的情况,我们在建 t r i e trie trie树和求 f a i l fail fail指针的时候进行处理即可
- 求出每个节点的 v a l [ i ] val [i] val[i] 值然后我们就可以进行 d p dp