Chap6 动态规划
返回:0400 算法设计与分析总目录 · 上一章:0405 Chap5 分治策略 · 下一章:0407 Chap7 网络流
1、学习目标动态规划适合有重叠子问题和最优子结构的问题。它不是“背公式”,而是学会定义状态,把未来选择压缩成表格里的信息。
模块
要掌握的内容
DP 框架
状态、转移、初始化、顺序、答案
一维 DP
加权区间调度
二维 DP
背包、序列比对
区间 DP
RNA 二级结构
图上 DP
DAG 最短路、Bellman-Ford 思想
2、动态规划五步
定义状态:dp[i] 或 dp[i][j] 表示什么。
写转移:最后一步从哪里来。
初始化:空集、边界、不可达状态。
确定顺序:保证转移依赖已计算。
还原答案:只要值,还是要路径。
写 DP 最常见的错误是状态定义含糊。状态定义不清楚,转移式一定会乱。
3、加权区间调度给定若干区间,每个区间有权重,选择互不重叠的区间使权重最大。
先按结束时间排序,令:
12p(j) = 与区间 j 不冲突且结束最晚的区间编号dp[j] = 前 j 个区间能取得的最大权重
转移:
1dp[j] ...
Chap5 分治策略
返回:0400 算法设计与分析总目录 · 上一章:0404 Chap4 贪心算法 · 下一章:0406 Chap6 动态规划
1、学习目标分治把大问题拆成若干规模更小的同类问题,分别求解后再合并。它的关键是:拆分要降低规模,合并不能太贵。
模块
要掌握的内容
分治框架
divide、conquer、combine
复杂度分析
递推式、递归树
典型算法
归并排序、快速排序、逆序数
几何问题
最近点对
高阶算法
大整数乘法、矩阵乘法、FFT
2、分治框架123456Solve(P): if P 足够小: 直接求解 split P into P1, P2, ... 分别求解子问题 合并子问题答案
复杂度常写为:
1T(n) = aT(n/b) + f(n)
其中 a 是子问题个数,n/b 是子问题规模,f(n) 是拆分和合并代价。
3、归并排序归并排序:
把数组分成两半。
分别排序。
合并两个有序数组。
递推式:
1T(n) = 2T(n/2) + O(n)
复杂度 O(n log n),空间 O(n),稳定 ...
1400、数学建模:课程汇总
返回:本科课程:疾风计划
1、课程定位数学建模更像一套综合表达能力:从问题描述出发,选择模型、处理数据、验证结果,并把过程写成可以被别人理解的论文。它适合后续连接 AI、数据分析和复试项目表达。
2、学习目录
模块
内容
复盘重点
建模流程
问题分析、假设、变量、模型
训练结构化思考
优化模型
线性规划、整数规划、约束优化
连接决策问题
评价模型
层次分析、TOPSIS、熵权法
处理多指标评价
预测模型
回归、时间序列、机器学习基础
连接数据分析
论文表达
摘要、图表、结果解释
训练可展示成果
3、后续补充后面补建模题目、代码、图表模板和论文复盘。
Chap4 贪心算法
返回:0400 算法设计与分析总目录 · 上一章:0403 Chap3 图算法基础 · 下一章:0405 Chap5 分治策略
1、学习目标贪心算法每一步都做当前看来最好的选择。难点不在“选择一个局部最优”,而在证明这种局部选择不会破坏全局最优。
模块
要掌握的内容
贪心范式
局部选择、不可反悔、逐步构造
证明方法
交换论证、领先性证明、割性质
典型问题
区间调度、区间划分、延迟最小化
图算法
Dijkstra、Prim、Kruskal
拓展
最优缓存、聚类
2、贪心算法的判断贪心适合的问题通常有:
最优子结构:局部选择后,剩余问题仍是同类问题。
贪心选择性质:存在某个最优解包含当前贪心选择。
选择不可反悔:一旦选择,就不再回头调整。
贪心最怕“看起来合理但没有证明”。遇到新题时,要先尝试找反例。
3、区间调度问题:给定若干活动 [s_i, f_i],选择最多数量的互不重叠活动。
贪心策略:
1按结束时间从早到晚排序,每次选择与当前已选活动不冲突且结束最早的活动。
正确性直觉:结束越早,留给后面活动的空间越大。
交换论证:
设贪心选出的第 ...
1300、复变函数:课程汇总
返回:本科课程:疾风计划
1、课程定位复变函数是进一步理解工程数学、信号处理和某些分析方法的基础。对博客来说,这部分先做框架整理,不作为近期重点深挖内容。
2、学习目录
模块
内容
复盘重点
复数与复平面
复数运算、几何意义
建立复平面直觉
解析函数
C-R 条件、初等函数
理解解析性的约束
复变积分
Cauchy 积分定理与公式
抓住核心定理
级数
Taylor、Laurent 展开
理解局部展开
留数
留数定理、积分计算
掌握典型计算方法
3、后续补充后面补公式、典型题和它与信号、控制、工程数学之间的关系。
Chap3 图算法基础
返回:0400 算法设计与分析总目录 · 上一章:0402 Chap2 算法分析基础 · 下一章:0404 Chap4 贪心算法
1、学习目标图是算法设计里最常用的建模工具之一。关系、依赖、道路、网络、社交连接、任务先后顺序,都可以先画成图,再选择遍历、最短路、生成树、流等算法。
模块
要掌握的内容
图模型
顶点、边、有向、无向、权重
存储
邻接表、邻接矩阵
遍历
BFS、DFS
二分图
染色判定、奇环
有向连通性
可达性、强连通直觉
DAG
拓扑序、依赖调度
2、图的基本定义图通常写作:
1G = (V, E)
其中 V 是顶点集合,E 是边集合。
类型
说明
无向图
边没有方向,(u, v) 等同于 (v, u)
有向图
边有方向,u -> v 不等同于 v -> u
加权图
每条边带权重,如距离、成本、容量
稀疏图
边数接近 O(V)
稠密图
边数接近 O(V^2)
3、图的存储
存储方式
空间
判断边是否存在
遍历邻居
适用场景
邻接矩阵
O(V^2)
O(1)
O( ...
1200、数值分析:课程汇总
返回:本科课程:疾风计划
1、课程定位数值分析关注“计算机如何近似求解数学问题”。它把数学公式、误差控制和程序实现联系起来,适合后续做建模、仿真、数据分析和工程计算复盘。
2、学习目录
模块
内容
复盘重点
误差分析
舍入误差、截断误差、稳定性
理解数值计算的可靠性
插值与拟合
Lagrange、Newton、最小二乘
连接数据建模
方程求解
二分、Newton、迭代法
理解近似求根
线性方程组
Gauss 消元、迭代法
服务矩阵计算
数值积分
梯形、Simpson、误差估计
连接工程计算
3、后续补充后面补算法步骤、代码实现、误差分析和数学建模中的应用案例。
Chap2 算法分析基础
返回:0400 算法设计与分析总目录 · 上一章:0401 Chap1 算法导论与稳定匹配 · 下一章:0403 Chap3 图算法基础
1、学习目标算法分析回答两个问题:它是否正确,它是否足够快。本章主要处理第二个问题,建立运行时间的语言和估算习惯。
模块
要掌握的内容
可处理性
多项式时间、指数时间、输入规模
渐进记号
O、Ω、Θ
常见复杂度
log n、n、n log n、n^2、2^n
分析方法
循环计数、求和、递推、主定理直觉
证明习惯
先说明规模,再说明基本操作
2、输入规模算法复杂度必须相对于输入规模讨论。
问题
输入规模
排序
元素个数 n
图遍历
顶点数 n 和边数 m
大整数乘法
数字位数 n
字符串匹配
文本长度 n 和模式长度 m
背包
物品数 n 和容量 W
不要看到一个循环就直接写 O(n),要先问:n 是什么?
3、渐进记号
记号
含义
使用场景
O(f(n))
渐进上界
最常见,说明不会更慢太多
Ω(f(n))
渐进下界
说明至少需要这么多
Θ(f(n ...
1100、概率论与数理统计:课程汇总
返回:本科课程:疾风计划
1、课程定位概率论与数理统计连接不确定性、数据分析和模型评估。它既是考研数学内容,也是 AI、异常检测、日志分析和安全数据处理的重要基础。
2、学习目录
模块
内容
复盘重点
随机事件
概率、条件概率、独立性
建立概率语言
随机变量
分布函数、离散与连续分布
理解数据生成方式
数字特征
期望、方差、协方差
连接统计描述
大数定律与中心极限定理
极限定理、近似
理解统计推断基础
参数估计与假设检验
估计、置信区间、检验
服务数据分析和实验评估
3、后续补充后面补公式推导、典型题、统计实验和它在 AI/安全数据分析中的使用方式。
Chap1 算法导论与稳定匹配
返回:0400 算法设计与分析总目录 · 下一章:0402 Chap2 算法分析基础
1、学习目标算法设计的第一步不是写代码,而是把现实问题压缩成清楚的数学对象:输入是什么,输出是什么,什么叫合法,什么叫更好。本章用稳定匹配作为第一个完整案例,练习从问题建模到算法证明。
模块
要掌握的内容
问题形式化
输入、输出、约束、目标
稳定匹配
偏好列表、匹配、阻塞对、稳定性
Gale-Shapley
求婚方提出、接受方保留、迭代收敛
正确性证明
终止性、完备性、稳定性
复杂度
每对最多被提议一次,所以 O(n^2)
2、算法问题如何描述一个算法问题通常写成:
123输入:满足某些条件的数据对象输出:满足某些性质的解目标:如果有多个解,如何衡量好坏
比如排序:
123输入:n 个可比较元素输出:按非降序排列的序列目标:正确排序,并尽可能高效
稳定匹配:
123输入:两组人数相等的对象,每个人给出对另一组的偏好排序输出:一组一对一匹配目标:不存在会破坏当前匹配的阻塞对
3、稳定匹配问题设有 n 个学生和 n 个学校,双方都给出对另一方的完整偏好列表。
基本 ...





