P3
- 生成树概念
- 把一些边删掉,图中的点还能保持联通
- 生成树不唯一
最小(代价)生成树
- 生成树中边的数量n-1
- 所有剩余边权加在一起最小的生成树
kruskal - 3366.洛谷 -【模板】最小生成树
- 边排序,权值从小到大【对边进行处理】
- 并查集,生成树不断变大(边的数量不断增加到n-1)
prim - 3366.洛谷 -【模板】最小生成树
- 对点的集合进行延伸【对点进行处理】,可以以任意点为起点,遍历某一起点的所有边
- 优先队列
prim - 1265.洛谷 - 公路修建
- kruskal存边时空间不足(邻接矩阵100M),prim存边时空间不足(邻接表150M),但是prim可以现用现求
- 边少用前者,边多用后者
kruskal_1991.洛谷-无线通讯网
dijkstra_1144.洛谷-最短路计数
思路要听一下
P4
拓扑排序
toposort
遍历,找入度为0的点
all_toposort
input * output
7 9
1 2
3 2
3 4
3 5
4 2
5 7
4 6
6 7
2 5
1 3 4 2 5 6 7
1 3 4 2 6 5 7
1 3 4 6 2 5 7
3 1 4 2 5 6 7
3 1 4 2 6 5 7
3 1 4 6 2 5 7
3 4 1 2 5 6 7
3 4 1 2 6 5 7
3 4 1 6 2 5 7
3 4 6 1 2 5 7
641. 拓扑排序
636. 旅行计划
640. 食物链计数
637. 排序
- 成环优先级大于成功情况
思考:如何生成随机有向图且图中无环