摘要: (一) 股票系列问题 所谓的股票问题,是一个动态规划状态机模型的系列问题,这些题目来自于LeetCode社区,这些问题非常经典,能够帮助我们理解动态规划的本质,这些问题大多初看之下会令人感觉无从下手,但是一旦掌握相应的方法划分状态之后,很快即可举一反三的写出相应的代码。 股票系列问题合集 LC121 阅读全文
posted @ 2023-01-06 20:43 道长陈牧宇 阅读(237) 评论(0) 推荐(2)
摘要: (一) 排列与组合 通常通常循环来做暴力枚举是有局限性,通过回溯算法来做枚举往往会更加优雅,回溯算法中两个重要的模型便是组合模型与排列模型。 | 题目 | 思路描述 | | : : | : : | | LC0077. 组合LC0078. 子集 | 组合和子集要求的答案都是顺序无关的,因而与排列不同的 阅读全文
posted @ 2022-12-02 10:13 道长陈牧宇 阅读(42) 评论(0) 推荐(0)
摘要: (一) 估算误差 一般来说误差有可能来自于以下集中情况: 模型误差 Modeling Error 观测误差 Measurement Error 截断误差 Trunction Error 舍入误差 Roundoff Error (1.1) 直接近似算法的误差估计 截断误差来自于近似算法本身,例如计算式 阅读全文
posted @ 2022-11-22 17:32 道长陈牧宇 阅读(478) 评论(0) 推荐(0)
摘要: 推荐练习题单: LeetBook 树专题、洛谷二叉树树结构专题、洛谷树上问题 (一) 线性结构的递归模型 正式学习树结构模型之前不妨先回忆一下线性结构的递归写法。众所周知,链表是一种天然带有递归性质的结构,当我们想要处理 $Node_A$ 为首的链表,我们尝试处理 $Node_B$ 为首的链表,然后 阅读全文
posted @ 2022-11-21 17:15 道长陈牧宇 阅读(131) 评论(0) 推荐(0)
摘要: (一) 正权图最短路引理 以下三条引理适用于正权图: 任意两个顶点之间的路径不存在重复顶点与重复边 任意两个顶点之间顶点数不超过 $N$,边数不超过 $N-1$ 最短路径具有最优子结构性,也即 $P_{s\to t}$ 节选得到的 $P_{s \to x}$ 即是 $s\to x$ 最短路径 对于一 阅读全文
posted @ 2022-11-15 18:16 道长陈牧宇 阅读(384) 评论(0) 推荐(0)
摘要: (一) 二分图的概念 二分图又称作二部图,是图论中的一种特殊模型。假设 $G=(V,E)$ 是一个无向图,如果顶点 $V$ 能够分割为两个互不相交的子集 $(S,T)$,并且图中的每条边 $(s,t)$ 所关联的两个顶点 $s$ 和 $t$,分别属于这两个不同的顶点集 $(s \in S,t \in 阅读全文
posted @ 2022-11-11 22:54 道长陈牧宇 阅读(124) 评论(1) 推荐(0)
摘要: (一)单调栈查找前驱值与后继值 单调栈其实就是一个栈,并非什么新颖的数据结构,是栈结构的一种十分常用的操作,与用栈进行括号匹配、表达式求值乃至模拟递归一样,都是单调栈仅仅是一种常见的用途。 单调栈是一种满足单调性的栈结构,其维护单调性方式是弹出栈顶不符合的条件的元素,也就是说,单调栈存储的并非入栈的 阅读全文
posted @ 2022-11-01 15:15 道长陈牧宇 阅读(47) 评论(0) 推荐(1)
摘要: 本篇内容是对蒋炎岩老师讲义整理,强烈建议观看原视频! (一)网络流引入 最短路、网络流等是最小费用流的一个特列,最小费用流其实是线性规划的一个特例。很多现实中的问题均可规约变为线性规划问题,通常竞技算法会解决整数线性规划问题。线性规划之上,又有凸优化等更加复杂的问题,这一切都离不开 对偶理论。例如, 阅读全文
posted @ 2022-10-25 10:24 道长陈牧宇 阅读(57) 评论(0) 推荐(0)
摘要: (一)区间模型 (1.1) 区间合并 (1.2) 区间选点 (1.3) 区间覆盖 (1.4) 区间分组 (二) 贪心常用证明方法 阅读全文
posted @ 2022-09-19 12:57 道长陈牧宇 阅读(25) 评论(0) 推荐(0)
摘要: (一)背包模型 背包问题的各种变形可以搜一下背包九讲,事实上我们只需要掌握三种零一背包、多重背包、完全背包三种基础问题即可,其它复杂的问题往往都可以转为这三种基础的背包问题。更多细节可参考这篇笔记,下面给出提纲。 零一背包 & 完全背包 为什么二者的状态转移方程如此相似? 零一背包逆序遍历优化 完全 阅读全文
posted @ 2022-09-18 09:01 道长陈牧宇 阅读(126) 评论(0) 推荐(0)