随笔分类 - tarjan
摘要:题面:洛谷传送门 题目算法要素:tarjan+树形dp 题目分析: 一、总体概括 可以发现一个环中的点必须同时被选择,因此很容易能想到要tarjan缩点。 缩点后形成一张DAG,由于题目的条件,d[i]=0表示一个软件没有另一个软件为前提,因此有一个超级源点0。可以考虑从0点开始,跑一遍树形dp(树
阅读全文
摘要:#全篇重点(奇怪的bug): ####tarjan缩点+topo排序求最长链的常见问题: (1)建新图的时候没有用缩点后生成的新点,而是用原来的点建图 (2)建新图的时候注意不要建重复的边,最好用并查集维护两个新点是否被连接过 ✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧✧
阅读全文
摘要:第一次写缩点是用vector存边,因此现在用链前存边再写一遍 传送门:P3387 【模板】缩点 题意分析 (1)很容易发现,由于每一个点可以被经过多次,那么同一个强连通分量中的每一个点都可以互相到达,因此可以看作一个点。 (2)缩点后,整张图一定变成了一个DAG 证明:反证即可,假设不是DAG,则有
阅读全文
摘要:dfn[now]表示在now点在dfs搜索树中的dfs序。 low[now]表示的是now通过后向边、横叉边能到达的dfn最小的点的dfs序。 我们取一个强连通分量中dfn最小的点作为整个强连通分量的代表元素。 因此low[now]的实际意义就是now所在的强连通分量的代表元素的点的dfn值。 to
阅读全文

浙公网安备 33010602011771号