给定n个模式串, 和一个文本串
问如果修改最少的字符串使得文本串不包含模式串,
输出最少的次数,如果不能修改成功,则输出-1
dp[i][j] 表示长度为i的字符串, 到达状态j(Trie图中的结点)所需要修改的最少次数
那么dp[0->n][0->size] = INF , dp[0][root] = 0, n代表字符串长度, size代表状态数
那么答案就是 min{dp[n][size]}
我们根据模式串所建的Trie图, 进行模拟构造不包含模式串的字符串
从第一个字符串开始构造,依次递增,在构造此字符的同时,比较是否和输入串的该字符串相等,
如果相等,则表示该位置的字符不需要改变, 如果不同,则表示该位置的字符需要改变
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include