不定期更新,咕咕咕
1. 排序
-
冒泡、插入、选择、桶、基数
-
分治、快速
-
离散化
sort->unique->lower_bound
-
逆序对
分治、计数
2. 搜索
-
bfs
最优解
八数码 -
**dfs
最快求可行解
3. 二分
- 注意l<=r以及结果取值
- 整数二分和浮点数二分
4. 尺取
-
核心
有效状态和无效状态
-
例子
- 和大于一定值的最短区间LR
- ABCD四个字符个数相同,改变一定区间内的字符,求最短区间
5. 前缀和、差分
-
一维前缀和
-
二维前缀和
简单容斥
-
差分
前缀和相减
-
维护后缀
对一段进行操作,如[L,R]全部+1,维护后缀数组,L处++,R处–
6. 动态规划
名词:
状态 决策 状态转移方程
两个条件:
1. 最优化原理:原问题最优当且仅当子问题最优(就是可以通过子问题最优推出原问题最优)
2. 无后效性:决策只取决于当前状态中的因素,与到达方式无关
-
线性dp(一维线性状态转移方程)
例子:
1. 数字三角形
2. 分阶段最短路
3. 最长上升子序列
4. 最长公共子序列
5. 最长上升公共子序列
6. 最大字串和
7. 最大子矩阵和
8. Telephone Wire (POJ-3612)

9458

被折叠的 条评论
为什么被折叠?



