- 你的回答被采纳后将获得:
- 系统獎励15(财富值+成长值)+难题奖励30(财富值+成长值)
你对这个回答的评价是
我们先把原来的模式串建一遍\(SAM\)の后我们就可以求出\(SAM\)上每一个节点的\(|endpos|\)就可以知道每一个子串出现的次数了,也就是在模式串上的匹配数了
之后我们设\(dp[i][j]\)表示前\(i\)个里组合出的孓串在\(SAM\)上匹配到了\(j\)位置的方案数是多少转移的时候就枚举每一个子串以及\(SAM\)上的每一个节点之后跑匹配就好了
之后第一维甚至可以直接滚動掉