随笔分类 -  拓扑排序

摘要:题面:洛谷传送门 题目算法要素:tarjan+树形dp 题目分析: 一、总体概括 可以发现一个环中的点必须同时被选择,因此很容易能想到要tarjan缩点。 缩点后形成一张DAG,由于题目的条件,d[i]=0表示一个软件没有另一个软件为前提,因此有一个超级源点0。可以考虑从0点开始,跑一遍树形dp(树 阅读全文
posted @ 2021-09-17 09:20 Mint-hexagram 阅读(252) 评论(0) 推荐(0)
摘要:#全篇重点(奇怪的bug): ####tarjan缩点+topo排序求最长链的常见问题: (1)建新图的时候没有用缩点后生成的新点,而是用原来的点建图 (2)建新图的时候注意不要建重复的边,最好用并查集维护两个新点是否被连接过 ✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧ 阅读全文
posted @ 2021-09-16 16:48 Mint-hexagram 阅读(44) 评论(0) 推荐(0)
摘要:第一次写缩点是用vector存边,因此现在用链前存边再写一遍 传送门:P3387 【模板】缩点 题意分析 (1)很容易发现,由于每一个点可以被经过多次,那么同一个强连通分量中的每一个点都可以互相到达,因此可以看作一个点。 (2)缩点后,整张图一定变成了一个DAG 证明:反证即可,假设不是DAG,则有 阅读全文
posted @ 2021-09-04 14:11 Mint-hexagram 阅读(52) 评论(0) 推荐(0)
摘要:一个n年前学的东西,发现还没写博客,就来上一篇 定义: 对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序 阅读全文
posted @ 2021-09-03 17:52 Mint-hexagram 阅读(124) 评论(0) 推荐(0)