WA了好多次...先tarjan缩点, 然后题意就是求DAG上的一条最长链. dp(u) = max{dp(v)} + totu, edge(u,v)存在. totu是scc(u)的结点数. 其实就是记忆化搜一下...重边就用set判一下-------------------------------...
分类:
其他好文 时间:
2015-10-13 20:59:08
阅读次数:
297
求最大弱连通子图~
tarjan缩点+topsort~...
分类:
其他好文 时间:
2015-02-01 09:38:52
阅读次数:
222
题目大意:定义半连通子图为一个诱导子图,其中任意两点(x,y)中x可到达y或y可到达x,求最大半连通子图的大小以及方案数
不就是个缩点之后拓扑序DP求最长链么 这题意逗不逗233333
注意缩点后连边不要连重复了 判重边那里我用了set。。。
#include
#include
#include
#include
#include
#define M 100100
using na...
分类:
其他好文 时间:
2015-01-19 21:11:11
阅读次数:
204
题解:
首先缩个点是必然,然后随便想想就知道缩点后需要最后是一条链,
也就是——
缩点后求拓扑图最长路以及方案数。
呃,去重的部分我重标号排了个序水过。
代码:
#include
#include
#include
#include
#define N 101000
#define M 1001000
#define inf 0x3f3f3f3f
using n...
分类:
编程语言 时间:
2015-01-11 14:53:41
阅读次数:
253
题目大意:定义半连通图:图中任意两点之间可以单向到达。求一个图的最大半连通子图,和这个图最大半连通子图的个数。
思路:半连通图并不是一定要没有环。。这题意让我理解的。。
其实想法什么的不难,想明白了也不难写。因为要保证半连通,所以要先处理出一个图的联通状况。先用Tarjan缩点得到DAG,在这个DAG上找到最长链的长度就是第一问的答案。第二问可以先找到所有f值等于答案的点,在这些点上反...
分类:
移动开发 时间:
2015-01-11 11:02:20
阅读次数:
213
http://www.lydsy.com/JudgeOnline/problem.php?id=1093两个条件综合起来加上求最大的节点数,那么很明显如果是环一定要缩点。然后再仔细思考下就是求dag的最长路的数目啦。。。然后wa了。。。看了题解。。。噗!第一次注意到缩点后会有重边QAQ。。。于是。。...
分类:
其他好文 时间:
2014-11-19 14:07:39
阅读次数:
229
首先,我们要tarjan。。。 然后我们要缩点。。。注意,缩点的时候两个新建的点会有重边,需要判重正常的判重方法是bfs一边,但是我YY的比较奇葩,方法下面将。。。缩好点就变成了一个DAG,然后就类似树形DP的方法求最大权值链我是用记忆化搜索,当dfs某个点p时用数组vis记录一些东西:首先vis[...
分类:
其他好文 时间:
2014-10-06 23:54:12
阅读次数:
333
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1093题意:思路:(1)首先,强连通分量中的一个点若在最大半连通子图中,则必定整个连通分量中的点都在,因为都在还是满足半连通的性质而且使得节点数更多。(2)因此,求出强连通分量缩点,形成一个...
分类:
其他好文 时间:
2014-06-23 06:09:38
阅读次数:
372