算法
shxifs
这个作者很懒,什么都没留下…
展开
-
KMP算法next数组的理解
next数组实际是储存某个位置前面的子串中前缀和后缀最大的相同字符个数。 前缀:包括第一个字符的连续字符串。(真前缀,不包括自己) 后缀:包括最后一个字符的连续字符串。(真后缀,不包括自己) 例如:abababac i = 0时, 子字符串为"a" 没有真前缀与真后缀, 所以next[0] = 0. i = 1时, 子字符串为"ab", 没有共同的前后缀, 所以next[1] = 0....原创 2019-10-01 21:07:13 · 347 阅读 · 0 评论 -
动态规划之填表法
动态规划基本上都需要开辟一个数组来记录状态, 数组是基于所给条件利用动归方程把表填满. 现在总结一下填表的注意事项. 1.表的行数是所给条件的索引数+1 2.dp表第一行(或第一列)需要根据实际条件初始化 例子: 给定字符串s和t,判断s是否为t的子序列。(可以不连续) 动态规划方程为:(dp[i][j]表示长度为i的s串是否是长度为j的t串的子序列) if(s[i]...原创 2019-10-03 21:21:17 · 2782 阅读 · 1 评论