摘要: 拓扑排序 判环 bool topsort() { int cnt = 0; queue<int> q; for (int i = 1; i <= n; i++) if (!din[i]) q.push(i); while(!q.empty()) { int u = q.front(); q.pop( 阅读全文
posted @ 2022-05-18 17:02 hzy0227 阅读(6) 评论(0) 推荐(0) 编辑
摘要: ACWING 368 银河 缩点 + DAG DP + 差分约束 368. 银河 - AcWing题库 tarjan 缩点 判原图中是否有正环,因为原图上所有边都是非负的**(这也是用强连通分量解差分约束的必要条件,否则若有正权边也有负权边,若环上边权总和仍为0,则并不能说明是矛盾的)**, 所以如 阅读全文
posted @ 2022-05-18 16:08 hzy0227 阅读(12) 评论(0) 推荐(0) 编辑
摘要: ACWING 1175 最大半连通子图 缩点 + DAG DP 1175. 最大半连通子图 - AcWing题库 因为一个强连通分量中所有点可互相到达,所以一个强连通分量必然是一个半联通子图 缩点后,求最长链即可(此处的最长指链上的强连通分量中的点数之和最多) 因为已经是DAG,所以求最长链及方案数 阅读全文
posted @ 2022-05-18 15:32 hzy0227 阅读(7) 评论(0) 推荐(0) 编辑
摘要: ACWING 367 学校网络 367. 学校网络 - AcWing题库 第一问:求出强连通分量,答案就是起点个数 第二问:结论:若把一个 DAG 变成一个 强连通分量,则需要加 \(max(起点个数,终点个数)\) 条边 ​ 当 DAG 只有一个点时特判加 0 条边 #include <iostr 阅读全文
posted @ 2022-05-18 11:40 hzy0227 阅读(7) 评论(0) 推荐(0) 编辑