求出每个双连通分量缩点后的度,度为1的点即叶子节点。原图加上(leaf+1)/2条边即可变成双连通图。 ...
分类:
其他好文 时间:
2016-08-11 00:58:40
阅读次数:
211
找最长的连接的点的数量。用tarjan缩点,思考可知每一个强连通分量里的点要么都选,要么都不选(走别的路),可以动规解决。 ...
分类:
其他好文 时间:
2016-08-07 18:28:02
阅读次数:
181
2438: [中山市选2011]杀人游戏 Description 一位冷血的杀手潜入 Na-wiat,并假装成平民。警察希望能在 N 个人里面,查出谁是杀手。 警察能够对每一个人进行查证,假如查证的对象是平民,他会告诉警察,他认识的人, 谁是杀手, 谁是平民。 假如查证的对象是杀手, 杀手将会把警察 ...
分类:
其他好文 时间:
2016-07-28 16:10:34
阅读次数:
187
这个题当时打多校的时候有思路,但是代码能力差,没有写出来 事后看zimpha巨巨的题解,看了觉得基本差不多 核心思路:就是找出割点,然后变成森林,然后树形dp就可以搞了 关键就在重新构图上,缩完点以后,一个割点至少在两个点双里面,这个时候 把割点拿出来,分别和点双连边,也就是说,缩完的点双是不包含割 ...
分类:
其他好文 时间:
2016-07-22 14:31:25
阅读次数:
173
OwO 题目含义都是一样的,只是数据范围扩大了 对于n<=7的问题,我们直接暴力搜索就可以了 对于n<=1000的问题,我们不难联想到<主旋律>这一道题 没错,只需要把方程改一改就可以了 首先我们考虑不合法的方案强连通分量缩点后一定是DAG 考虑子问题:DAG计数 做法可以参考<cojs DAG计数 ...
分类:
Web程序 时间:
2016-07-20 21:10:15
阅读次数:
210
思路:tarjan把桥找出来,然后缩点,注意这里的缩点是:如果两个点之间的连边不是桥,那么就把他们缩起来,然后用一个lct维护,对于每个询问,如果官道连接的是两个联通块的话,就把他们连起来,否则我们就把u到v的路径全部染色成0 最后只要询问缩点完的S到缩点完的T的路径上有多少是1就是答案了,最后复杂 ...
分类:
其他好文 时间:
2016-07-15 19:17:12
阅读次数:
241
tarjan缩点。判断是否只有一个没有出边。是则输出该点点数 1051: [HAOI2006]受欢迎的牛 Description 每一头牛的愿望就是变成一头最受欢迎的牛。现在有N头牛,给你M对整数(A,B),表示牛A认为牛B受欢迎。 这 种关系是具有传递性的,如果A认为B受欢迎,B认为C受欢迎,那么 ...
分类:
其他好文 时间:
2016-07-15 13:09:39
阅读次数:
164
一看就是缩点拓扑啊,可数据范围这么小,暴力即可啊。 ...
分类:
Web程序 时间:
2016-07-07 22:33:24
阅读次数:
191
2-SAT。 tarjan缩点。强连通分量的点要选一起选。 #include #include #include using namespace std; const int maxn = 20000 + 10; const int maxm = 200000 + 10; int n,m; int ... ...
分类:
其他好文 时间:
2016-07-07 21:07:27
阅读次数:
145
2-SAT。 好像很复杂的样子所以还在慢慢摸索。。。 这道题只需要tarjan缩点就可以了,如果有一个材料的满式和汉式同时被选中,代表不可能实现。 #include #include #include using namespace std; const int maxn = 5000 + 10; ... ...
分类:
Web程序 时间:
2016-07-07 19:49:41
阅读次数:
209