强连通分量
sunyutian1998
这个作者很懒,什么都没留下…
展开
-
百度科学家(简单)(中等)(困难)
困难版 题意有些绕 这就不说了 一个点对一个连续区间内的所有点连一条权值相同的边 这个线性的过程可以用线段树来优化但是这道题中每个位置上的元素会改变 这样只用线段树是无法维护的 需要用主席树来维护 这也没啥好说的 学了主席树其中道理自然明白 然后就是tarjan缩点后贪心 找出度为零的强连通分量加和的最小值直接上代码 #include <bits/...原创 2018-05-12 21:26:52 · 609 阅读 · 4 评论 -
Connected Components? CodeForces - 920E
http://codeforces.com/problemset/problem/920/E求补图的各个连通块大小 智商不够 直接线段树优化建图 然后tarjan缩点 幸好内存不紧。。 #include <bits/stdc++.h>using namespace std;#define pb push_backconst int maxn=2e5+10;cons...原创 2018-10-20 21:58:51 · 208 阅读 · 0 评论 -
爱在心中 CODEVS - 2822
点击打开链接强连通分量与缩点的模板题之前一直不知道缩点是怎么回事 原来就是体现在belong[n]数组里了.. #include <bits/stdc++.h>using namespace std;struct node{ int v; int next;};stack <int> stk;node edge[10010]...原创 2017-09-30 08:51:04 · 294 阅读 · 0 评论 -
FFF at Valentine HDU - 6165
点击打开链接如果u不能到达v v也不能到达u 那两个人就未必能找到彼此数据量比较小 每个点都暴力搜索跑一边就可以 得到一个可达矩阵但是学长教了我强连通分量的做法 速度快了差不多十倍先通过tarjan来缩点 这样每一个强连通子图就可以看做一个点 用这些点再建新图 然后暴力搜索 看是否存在一条链这样等于省去了在每个强连通分量里乱转的时间 Tarjan #inclu...原创 2017-10-04 19:33:42 · 303 阅读 · 0 评论 -
Proving Equivalences HDU - 2767
点击打开链接求再加多少边可以使整个图构成一强连通分量 tarjan缩点即可一开始想找缩点后有多少链 再把链连起来。。发现错的离谱找入度为零的点和出度为零的点各有多少 取最大值即可有点贪心的意思因为把两个强连通分量连接的最好办法就是将度为零的点相连还有注意坑点 只有一个强连通分量时要直接输出0#include <bits/stdc++.h>using ...原创 2017-11-07 10:57:39 · 230 阅读 · 0 评论 -
Intelligence System HDU - 3072
点击打开链接学到了最小树形图这个东西 就是保留每个点所有入边中最小值 和无向图中的最小生成树类似 #include <bits/stdc++.h>using namespace std;#define ll long long#define N 0x3f3f3f3f3f3f3f3fstruct node{ int v; ll w; ...原创 2018-03-26 19:58:41 · 202 阅读 · 0 评论 -
Strongly connected HDU - 4635
点击打开链接其实可以按贪心考虑 对于一个图 只要有一个点不满足和其他任意一点相互可达 那就是不是强连通分量 也就是 先缩点 挑出一个含点最少的强连通分量 作为A部分 其余点作为B部分 令A与B分别构成一个有向完全图 然后B中每一个点都对A中每一个点建一条出边或入边(具体取决于A是入度为零还是出度为零)这张图就是最大非连通图 再减去初始边即可 手写模板图一时之爽 然后...原创 2018-03-26 17:31:09 · 163 阅读 · 0 评论 -
Instantaneous Transference POJ - 3592
点击打开链接因为图中每一个点被访问过后权值就消失了 所以不能用最短路直接求 先缩点 然后得一DAG图 求最长路即可if语句后边多了一个分号 调了一晚上 真的舒服#include <cstdio>#include <queue>#include <stack>#include <cstring>#include <algor...原创 2018-04-10 11:09:38 · 185 阅读 · 0 评论 -
Father Christmas flymouse POJ - 3160
点击打开链接和poj3592一个套路 缩完点跑最长路 但是要注意 缩点时不能把负值加上!#include <cstdio>#include <queue>#include <stack>#include <cstring>#include <algorithm>using namespace std;#define ...原创 2018-04-10 12:55:14 · 138 阅读 · 0 评论 -
Going from u to v or from v to u? POJ - 2762
http://poj.org/problem?id=2762问是否任意两点uv都满足u可达v或v可达u 先强连通缩点 然后暴力n^2扫一遍应该有更好的办法 留坑#include <cstdio>#include <cstring>#include <algorithm>#include <stack>using names...原创 2019-05-10 08:47:27 · 357 阅读 · 0 评论