一上来以为是裸的最大权闭合子图,上来就dinic …然后没过样例。不得不说样例还是非常良心的给了一个强连通分量,要不然就~~WA的生活不能自理了~~ 然后注意到有一种特殊情况:每个植物向他保护的植物连边(包括被其挡在后面的),当植物的保护范围连成一个强连通分量时,这个强连通分量上的植物以及从这个强连 ...
分类:
其他好文 时间:
2018-01-02 21:16:00
阅读次数:
160
【题目】C. Bipartite Segments 【题意】给定n个点m条边的无向连通图,保证不存在偶数长度的简单环。每次询问区间[l,r]中包含多少子区间[x,y]满足只保留[x,y]之间的点和边构成的图是一个二分图。 【算法】Tarjan缩点(找环) 【题解】如果两个奇数长度的环相交,会得到一个 ...
分类:
其他好文 时间:
2017-12-28 11:58:15
阅读次数:
244
擦。。没看见简单环。。已经想的七七八八了,就差一步 显然我们只要知道一个点最远可以向后扩展到第几个点是二分图,我们就可以很容易地回答每一个询问了,但是怎么求出这个呢。 没有偶数简单环,相当于只有奇数简单环,没有环套环。因为如果有环套环,必定是两个奇数环合并1个或几个点,也就是同时保持奇数或者同时变为 ...
分类:
其他好文 时间:
2017-12-27 11:57:56
阅读次数:
154
1 #include<cstdio> 2 #include<cstring> 3 #include<cmath> 4 #include<ctime> 5 #include<iostream> 6 #include<algorithm> 7 #include<queue> 8 #include<sta ...
分类:
移动开发 时间:
2017-12-21 01:56:20
阅读次数:
206
洛谷P3387 【模板】缩点 题目背景 缩点+DP 题目描述 给定一个n个点m条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大。你只需要求出这个权值和。 允许多次经过一条边或者一个点,但是,重复经过的点,权值只计算一次。 输入输出格式 输入格式: 第一行,n,m 第二行,n个整数 ...
分类:
其他好文 时间:
2017-12-16 23:17:59
阅读次数:
334
题目描述 输入格式: 第一行包含两个整数 N、M。N 表示路口的个数,M 表示道路条数。接下来 M 行,每行两个整数,这两个整数都在 1 到 N 之间,第 i+1 行的两个整数表示第 i 条道路的起点和终点的路口编号。接下来 N 行,每行一个整数,按顺序表示每 个路口处的 ATM 机中的钱数。接下来 ...
poj 3417 Network(tarjan lca) 先给出一棵无根树,然后下面再给出m条边,把这m条边连上,然后每次你能毁掉两条边,规定一条是树边,一条是新边,问有多少种方案能使树断裂。 我们设添加了一条新边后,树形成了一个环,表示为x y lca(x,y),我们将其中的边都覆盖一次。添加了多 ...
分类:
Web程序 时间:
2017-12-07 19:07:08
阅读次数:
232
poj1144 tarjan求割点 额,算法没什么好说的,只是这道题的读入非常恶心。 还有,理解tarjan一定要用递归树,配合横边回边前边树边等来想。。 c++ include include include include using namespace std; const int maxn= ...
分类:
其他好文 时间:
2017-12-05 00:56:46
阅读次数:
202
简介: 割边和割点的定义仅限于无向图中。我们可以通过定义以蛮力方式求解出无向图的所有割点和割边,但这样的求解方式效率低。Tarjan提出了一种快速求解的方式,通过一次DFS就求解出图中所有的割点和割边。 欢迎探讨,如有错误敬请指正 如需转载,请注明出处 http://www.cnblogs.com/... ...
分类:
编程语言 时间:
2017-12-04 00:51:40
阅读次数:
315
我是按照 "这里" 的思路来的。这个博文只是感性理解。 递归树 关于递归树, "这" 篇博文讲的很好,我只是给自己总结一下。 定义vis数组,在dfs连通图时赋予它们不同的含义: 1. vis=0,表示这个点没有被访问。 2. vis=1,表示这个点被访问了,但是它的孩子还没有访问完。 3. vis ...
分类:
其他好文 时间:
2017-12-03 15:33:51
阅读次数:
137