#P3041. [USACO12JAN] Video Game G

    ID: 2085 Type: RemoteJudge 1000ms 125MiB Tried: 1 Accepted: 1 Difficulty: 6 Uploaded By: Tags>动态规划,dp2012USACOO2优化AC 自动机

[USACO12JAN] Video Game G

题目描述

Bessie 在玩一款游戏,该游戏只有三个技能键 ABC 可用,但这些键可用形成 nn 种特定的组合技。第 ii 个组合技用一个字符串 sis_i 表示。

Bessie 会输入一个长度为 kk 的字符串 tt,而一个组合技每在 tt 中出现一次,Bessie 就会获得一分。sis_itt 中出现一次指的是 sis_itt 从某个位置起的连续子串。如果 sis_itt 的多个位置起都是连续子串,那么算作 sis_i 出现了多次。

若 Bessie 输入了恰好 kk 个字符,则她最多能获得多少分?

输入格式

输入的第一行是两个整数,分别表示组合技个数 nn 和 Bessie 输入的字符数 kk

接下来 nn 行,每行一个字符串 sis_i,表示一种组合技。

输出格式

输出一行一个整数表示答案。

3 7 
ABA 
CB 
ABACB 

4 

提示

样例 1 解释

Bessie 如果输入 ABACBCB,则 ABA 出现了一次,ABACB 出现了一次,CB 出现了两次,共得到 44 分。可以证明这是最优的输入。

数据规模与约定

对于全部的测试点,保证:

  • 1n201 \leq n \leq 201k1031 \leq k \leq 10^3
  • 1si151 \leq |s_i| \leq 15。其中 si|s_i| 表示字符串 sis_i 的长度。
  • ss 中只含大写字母 ABC