树的问题
研究点
- 叶子day1t1
- 子树day1t1
- 根节点day1t1
- dfs序day4t2
- 重心
套路
- 无根转有根,维护点到根的性质
- 合并性贪心给树染色
- 倍增求lcaday3t3
- 基环树找环,处理办法,分为顺时针和逆时针day5t2
- 换根法day5t2
dfs
分组问题
两种思路
- 每个组放那些物品
- 每件物品放到哪些组
三种剪枝
- 最优性剪枝
- 搜索顺序,从大到小,从决策少到决策多
- 去重:枚举顺序,第一个加入组的物品,最后一个加入组中的物品,相同物品一件失败全部失败;相反操作记录。
数独问题
- 搜索顺序:从可填少的填起,先填只能填在一个位置上的字母
- 可行性剪枝:不能填的位置和不能填在任何位置的字母
双向搜索
迭代加深
\(IDA^*\)优化
bfs
套路
- 单调性
- 设状态
- 起点终点逆向思维
- 网格图问题转化为图
6大广搜
- 普通bfs
- 双向bfs
- 双重bfs(同时保证两个单调性)
- 双端队列bfs
- 优先队列bfs:推广:从优先队列第k次取出的为第k大,第k大问题用堆解决依据
\(A^*\)优化
估价函数
- 最短路
- 起点终点距离之和
posted @
2019-07-31 15:19
a1b3c7d9
阅读(
116)
评论()
编辑
收藏
举报