摘要: 考虑KMP,设$f[i][j][S]$表示还剩最低$i$位没有确定,目前KMP匹配到了$j$这个位置,前缀匹配情况是$S$,最终会匹配到哪里,中途匹配成功几次。 其中$S[i]$是一个pair<int,long long>,表示对于前面已经确定的高位,如果从$i$开始匹配,那么最终会匹配到哪里,中途 阅读全文
posted @ 2016-10-24 16:49 Claris 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 每种状态最多只有三种后继状态:中间往左跳,中间往右跳,两边往中间跳。 如果把它们分别看成左儿子、右儿子、父亲的话,那么会得到一些二叉树。 取出起始状态和终止状态往上跳$k$步的所有状态,其他状态我们只关心它们到关键状态的距离。 于是设$dp[i][j][k]$表示从起始状态跳了$i$步,目前位于状态 阅读全文
posted @ 2016-10-24 09:11 Claris 阅读(421) 评论(0) 推荐(0) 编辑