摘要:
n<=5000个点m<=10000条边的无向图,求最少加几条边使它变成边双联通图,就是任意两点间都有至少2条边不相交的路径。 tarjan缩点,答案是叶子节点数/2向上取整。 不过要注意这里的“叶子节点数”是指度数为1的点,并不是最后那棵树以某个点为根的叶子节点树。如果找叶子点数一定要以某个点为根, 阅读全文
posted @ 2017-08-26 17:04
Blue233333
阅读(244)
评论(0)
推荐(0)
摘要:
n<=5000个数0或1,每次可以连续对固定长度区间取反,目标把所有1变0,求一个取反区间的固定长度K使取反次数最少。 答案关于K不单调,因此枚举K,对每个K扫一遍区间,遇到1就把连续K个数反转,看最后K-1个数是否在这样一番操作后都为0。为什么?不知道。 区间取反后查询,用差分。n2可过。 1 # 阅读全文
posted @ 2017-08-26 14:40
Blue233333
阅读(204)
评论(0)
推荐(0)
摘要:
n<=3000个点m<=20000条无向边的图,有p<=n个出发点,每个出发点都不可拆,现拆一些点使每个出发点都不能到达点1,求最小点数。 简单的最小割。每个点拆成两个x和y,无向边A--B即Ay->Bx,By->Ax,每个点拆成的x和y再连边容量1,然后建超级源向p个点连边,最大流,没了。 错误。 阅读全文
posted @ 2017-08-26 14:07
Blue233333
阅读(258)
评论(0)
推荐(0)
摘要:
m<=4000条关系描述n<=1000个事件,每条关系描述了一个或语句表示“x事件发生或不发生”或“y事件发生或不发生”,求每个事件是必发生、必不发生还是都行,无解输出IMPOSSIBLE。 是一个2-SAT问题。建图后把每个事件发生不发生都dfs一遍即可。听说缩点后会更快,就写了个tarjan。 阅读全文
posted @ 2017-08-26 13:15
Blue233333
阅读(305)
评论(0)
推荐(0)

浙公网安备 33010602011771号