在图上面去找最长路径。
登录以参加训练计划
有一类问题是在图上去找最长路径,通常我们会用一个DFS去找,同时避免重复计算。
在递推不太好写 ( 想一想,为什么?)的时候,DFS就是我们的手段。
递推不太好写的原因
递推需要明确的递推顺序(比如回家的路里,起点明确(左上角)、顺序明确(只能往下或往右移动),在没有这些的时候,不好写递推。
这么看,不就是暴力枚举嘛,等于每个点都去DFS一次,轻轻松松就超时了。所以就需要引入记忆化手段来将复杂度。
DFS + 记忆化
记忆化是很常见的空间换时间策略,就是把一些计算过的结果记下来,下次见到直接就使用了。比如[预先计算](https://oj.cubicbird.com/training/666ac0b6fe972abc91b18cd8)里面哦使用到的技术。
但需要注意的是,记忆化是有前提的,不能简单的无脑对(x, y)进行记忆。
比如滑雪的题目,某个点(x, y)的结果,一定是一个确定的值
但在Python网络、收集红包的时候,就不一样了,根据前面用过的路径,答案是不一样的</p>
- 参加人数
- 1
- 创建人