算法
文章平均质量分 76
ReScale
"Hello World!"
展开
-
基础算法 --- 线性DP
线性DP同样作为DP领域中非常重要的一部分,其指的是状态之间含有某种线性关系,大多求最大/最小值。最典型的题目为子序列,编辑距离,股票问题。原创 2022-05-13 12:17:30 · 456 阅读 · 0 评论 -
基础算法 --- 背包问题
背包问题作为动态规划的入门问题,值得我们好好掌握,理解其中原理,以便于应对各式各样的背包变种题目。原创 2022-04-28 11:26:33 · 868 阅读 · 0 评论 -
KMP算法
KMP算法简介KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是实现一个next()函数,函数本身包含了模式串的局部匹配信息。时间复杂度O(m+n)。先来了解一下前缀与后缀的概念。”Happy”的前缀集合为{“H”, “Ha”, “Hap”, “Happ”},同理,”Happy”的后缀集合为{“appy”,”ppy”, “py”...原创 2018-03-14 21:03:15 · 223 阅读 · 0 评论 -
0x00 基本算法 --- 递推与递归
AcWing 92. 递归实现指数型枚举定义递归,我认为最重要的是确定递归的出口,在这道题中的出口就是当递归函数输入的数等于n时,代表着该分支已经遍历完所有的n个数。state代表着某个数是否被选中。递归函数中需要确定分支,这里的每个数都有两种可能,一种是未被选中,一种是被选中,如果被选中则state | 1 << u,代表state的第u位置为1, 在最后输出时, 通过1 &am...原创 2019-06-12 10:08:54 · 602 阅读 · 0 评论