塔塔露也能学会的算法
kkgor_canned
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
塔塔露也能学会的算法(3) | 网络最大流最小割(Dinic)
例题:P3376 【模板】网络最大流俗话说得好:万物皆可网络流。本篇打算直接跳过FF直接讲Dinic,不要问我为什么,问就是我不会。其实看过这篇????网络最大流-从入门开始,详细讲到实用易懂的Dinic算法 之后就没有什么可讲的了,但是我还是要讲两句。链式前向星存图,目前为止我遇到的所有图论相关都这么存,好用极了。bfs过程中可以使用STL的queue,简单方便,用过的人(只有我)都说好。没了。简单来讲,首先一个bfs()用来分层——把图按照遍历的顺序存上层数dep[i],方便后面df原创 2020-11-20 14:49:03 · 179 阅读 · 0 评论 -
塔塔露也能学会的算法(2) | 我有背包你有手么
背包问题我们手里有个体积为V的背包,一共有k样物品,第i样物品的体积和价值分别为wi和vi。01背包每个物体有且只有一件,装还是不装?对于每个物体i,从V开始倒序计算。至于倒叙的理由,可以参考背包九讲内的内容:以上方法的时间和空间复杂度均为O(N*V),其中时间复杂度基本已经不能再优化了,但空间复杂度却可以优化到O(V)。先考虑上面讲的基本思路如何实现,肯定是有一个主循环i=1…N,每次算出来二维数组f[i][0…V]的所有值。那么,如果只用一个数组f [0…V],能不能保证第i原创 2020-11-16 14:23:19 · 141 阅读 · 0 评论 -
塔塔露也能学会的算法(1) | dijkstra从入门到放弃
1. 基础Dijkstra,单源最短路径算法,要求图中无负环。过程:选点(Black),找周围点(Grey),松弛,选点(Black),找周围点(Grey),松弛,……,直到没有点。使用邻接表map[maxn][maxn]存储边关系,bool型数组存储颜色 (比如1=white, 0=black/grey),dist[maxn]存储源点到各个点的距离。通过判断dist[i]是否为INF可以得出该点是grey点还是white点。拓展周围点时的距离关系:dist[i]=dist[pr原创 2020-11-15 01:35:26 · 241 阅读 · 0 评论
分享