天呐撸。这篇文章不管格式了。
这套题用的时间比较多。其中有些东西可能还没完全消化吸收。
简单说一下这章包含的内容。
二分: 单调函数求零点。
三分: 凸函数求最值。(其实有些内容完全可以求导之后,对导函数求零点,得出最值)
bfs: 一般是求最短路径,不过这套题中有个最长路的我也用了 BFS 。
DFS: 一般是求最长路径。包括回溯类型和非回溯类型。
其中 BFS 和DFS都是对树的遍历,这章中的题目大部分是对图的遍历,其实这也是一个变相的树,大白上有一个图片描述两者的关系特别好。
就是,如果把对图的每步遍历都标记上序号展开的话,也是一个树,而BFS的特点决定了他搜过最短路径的功能,
这章对BFS的掌握应该是入门了,但是对DFS的非回溯部分,还是感觉不够。或许是有些部分是和dp结合在一起的。只是用了DFS的框架。
BFS的程序比较好写,因为模板特别详细了,需要填充的也就是终止条件,甚至连剪枝都有模板,重载小于号然后用优先队列,而对于DFS来说,剪枝是特别困难的。
需要对题目有特别深入的了解才可以做到。这套题差了一个。 小苹果那个。真的读不懂题。。。。索性就不写了。
遇到问题的时候,看一下是否可以转化成树 或者 图。对于树和图的访问。BFS和DFS就会发挥作用吧。
还有一个是有向图和无向图的问题。
暂时还不知道是什么。先放在一边。
好了。这就是这章的总结了吧。
睡觉觉去~