传送门 题目大意: 给你一个字符主串和很多病毒串,要求更改最少的字符使得没有一个病毒串是主串的子串. 题解: ac自动机 + dp,用病毒串建好ac自动机,有毒的末尾flag置为true 构建fail指针时,如果fail指针所指节点flag=true,则将当前节点的flag也置为true. 用dp[i][j]表示长度为i的字符串匹配到j节点时最少的更改次数. 这样在ac自动机上跑,若该节点与原串的字符不同则+1 否则+0. 最后扫一遍取flag!=true的dp[len][...]的最小值. c…