tarjan缩点+最短路 这道题我想了一半的正解,就是缩点+DAG上考虑,之后图只有一种情况:1号点连着大量的点,大量的点连着1号点,部分能到达1号点的点连接着1号点能到达的部分点。转向就是要从1号点能到达的点过渡到能到达1号点的点。考虑spfa,在缩完点后的图上从1号点正向跑最大路,再建立一个反图 ...
分类:
其他好文 时间:
2018-09-21 23:10:28
阅读次数:
157
好久没写过这么长的代码了,题解东哥讲了那么多,并查集优化还是很厉害的,赶快做做前几天碰到的相似的题。 ...
分类:
其他好文 时间:
2018-09-20 21:14:29
阅读次数:
155
刚做了两道tarjan缩点的题,新学的算法总结一下。 推荐题:(难度单调递增) [HAOI2006]受欢迎的牛 [USACO5.3]校园网Network of Schools 间谍网络 [APIO2009]抢掠计划 这里不教tarjan,要学的找别的博客吧。 总结:tarjan 简单来说 算法过程 ...
分类:
其他好文 时间:
2018-09-17 20:32:11
阅读次数:
192
嘟嘟嘟 建图还是很明显的。 接着分两种情况: 1.图中不存在环:那么只要收买那些入度为0的点。如果这些点有的不能收买。就不能控制所有间谍。 2.图中存在环,那么对于这些在环中的点,我们只要收买数额最少的间谍。 于是我们用tarjan缩点:这样把第二种情况就变成了第一种情况。 所以大体流程是:用tar ...
分类:
其他好文 时间:
2018-09-17 19:36:48
阅读次数:
188
题意: 问至少加几条边 能使点s可以到达所有的点 解析: 无向图的连通分量意义就是 在这个连通分量里 没两个点之间至少有一条可以相互到达的路径 所以 我们符合这种关系的点放在一起, 由s向这些点的任意一个连边即可 即为求除s所在的连通分量以外的 入度为0的连通分量 ...
最大半联通子图对应缩点后的$DAG$上的最长链 复杂度$O(n + m)$ ...
分类:
移动开发 时间:
2018-09-14 23:59:04
阅读次数:
429
题意: 就是求桥最多的一条路 解析: 先求连通分量的个数 然后缩点建图 求直径即可 ...
分类:
其他好文 时间:
2018-09-14 23:06:18
阅读次数:
192
"题目传送门" 这个题还是个缩点的板子题...... 答案就是size大于1的强连通分量的个数 加一个size来统计就好了 ...
分类:
其他好文 时间:
2018-09-14 22:57:35
阅读次数:
163
题解 第一题:水 #include<bits/stdc++.h> using namespace std; const int M = 1e5 + 5; struct Node{ int s, t; }p[M]; bool cmp(Node A, Node B){ return A.t > B.t; ...
分类:
其他好文 时间:
2018-09-14 20:36:03
阅读次数:
179
"题目传送门" 这个题其实就是tarjan缩点的板子题对吧....至少我是这么想的 首先这是个有向图,对于一个有向图,我们肯定要考虑环的存在与否,恰好这个题又是让我们找出最少的点,使得这几个点能够走遍全图 那么,显然,对于每一个强连通分量,我们看做一个点即可(因为强连通分量中每两个点之间一定能从一个 ...
分类:
其他好文 时间:
2018-09-14 20:33:46
阅读次数:
172