- 最近寒假里刷了一些题,发现,每种算法并不是套模版那么简单。每种算法都有其性质,充分利用性质,我们就可以利用学会的知识解决未学过的题。
- 如果有补充,欢迎到下面留言!
1. 拓扑排序
- 说到topsort,很多人第一反应就是它可以将图排成一个线性表。
- 好吧,如果仅是知道这一点,那就才疏学浅了... ...
- 排序
- 这点最好理解了,顾名思义,就是,排序QwQ
- 解决无后效性问题
- 这点可以和dp结合起来。往往是树形dp,按照拓扑序进行dp。这样就可以避免使用bfs爆栈
- 判环
- 利用它的性质,跑一遍topsort,看看被跑的点与整个图的点是否相等。相等就没环,否则就有
- 找最大/小环
- 将图不断简化(去掉入度为0的点),最后剩下来的肯定就是一个个环。然后,遍历一个取最大/小值即可
2. 最短路
- 最短路里也有一些技巧帮助解题!
- spfa判负环
- 自己去Google(逃
- 建反向边
- 这是一个很常用的技巧。比如说多源最短路,我不可能跑n遍最短路吧,所以建一次反向边,跑一遍单源最短路即可
原文地址:https://www.cnblogs.com/BigYellowDog/p/10350001.html
时间: 2024-10-08 10:34:57