字符串匹配dp+bitset,滚动数组优化——hdu5745(经典)
2020-12-13 06:30
标签:pac 距离 i+1 out else cin res i++ 答案 bitset的经典优化,即把可行性01数组的转移代价降低 bitset的适用情况,当内层状态只和外层状态的上一个状态相关,并且内层状态的相关距离是一个固定的数,可用bitset,换言之,能用滚动数组是能用bitset优化的前提 字符串匹配dp+bitset,滚动数组优化——hdu5745(经典) 标签:pac 距离 i+1 out else cin res i++ 答案 原文地址:https://www.cnblogs.com/zsben991126/p/11181360.html/*
dp[i,j][0|1|2]表示p串的第i位,s串的第j位相匹配,pi和pi-1换,pi不换,pi和pi+1换的状态下是否能匹配
dp[i,j][0] = dp[i-1,j-1][2] & p[i-1]==s[j]
dp[i,j][1] = (dp[i-1,j-1][1] || dp[i-1,j-1][2]) & p[i]==s[j]
dp[i,j][2] = (dp[i-1,j-1][0] || dp[i-1,j-1][1]) & p[i+1]==s[j]
由于dp是01数组,并且dp[i]的所有状态都由dp[i-1]得到,所以我们可以考虑用bitset优化j
观察原来的dp方程
dp[i][0]由dp[i-1][2]
*/
#include
上一篇:C++从新学习和知识梳理
文章标题:字符串匹配dp+bitset,滚动数组优化——hdu5745(经典)
文章链接:http://soscw.com/essay/33114.html