强连通
yuege38
在校学生,努力学习
展开
-
UVA315_Network _无向图割点::Tarjan
题意给出一个无向图,求割点。原创 2017-07-15 18:01:39 · 220 阅读 · 0 评论 -
POJ1236_A - Network of Schools _强连通分量::Tarjan算法
题意有向图上有 N 个点,若干有向边。 第一问:至少给几个点传递信息,才能保证信息传遍整个图。 第二问:至少添加几条边,才能使任意选择点,都能传遍整个图。原创 2017-07-15 14:35:05 · 964 阅读 · 0 评论 -
POJ2186_Popular Cows_强连通分量
题意给 n 头牛和 m 个有序对(A, B),表示牛 A 认为牛 B 是受欢迎的。该关系具有传递性。求被其他所有牛认为受欢迎的牛的数量。思路满足条件的牛必在同一个强连通分量中,并且只可能存在于拓扑序最靠后的那个连通分量中。所以有如下做法: 1。两遍 dfs 求连通分量,同时保存各节点对应的拓扑序号。 2。遍历 n 个点求出最后一个连通分量的节点数,并任找一个代表节点。 3。从原创 2018-01-17 14:14:33 · 161 阅读 · 0 评论 -
POJ3683_Priest John's Busiest Day_2-sat
题意n 对新人举行婚礼,每个婚礼需要神父参与一个特殊仪式,可以在婚礼的开始进行,也可以在婚礼的末尾举行。神父只有一位,他不能同时参与两场婚礼。给定每场婚礼的开始时间、结束时间、仪式时长,问是否有一种安排,使得神父可以不冲突地参加所有婚礼的特殊仪式。思路对于每一场婚礼,只有两种选择:开始举行仪式,结尾举行仪式。这就可以用一个bool变量表示: x 取“真”表示在开始举行。由此可以把所原创 2018-01-18 13:39:45 · 212 阅读 · 0 评论 -
POJ3678_Katu Puzzle_2-sat
题意给出 n 个未知数, m 个布尔方程组成的方程组,判断输出是否有解。思路把式子转化成蕴含式,套用2-sat即可。 要注意的一点是: a 与 b = !a -> a 与 !b -> b链接http://poj.org/problem?id=3678代码#include#include#include#includeusing namespace std原创 2018-01-18 19:46:01 · 227 阅读 · 0 评论 -
POJ2749_Building roads_2-sat
题意n 个牛舍分别和两个连接点中的一个相连,从而使任意两个牛舍相互可达。并且要求所有牛舍对距离的最大值尽可能小。特别的,有些牛相互讨厌,它们不能连在同一个点上;有些牛相互喜欢,它们必须连在同一个点上。思路显然是二分答案加2-sat检验,总结两点: 1。2-sat的建图实际上就是转化成蕴含式 2。建边时应该从“非”的角度考虑,即将冲突情况取非链接http://poj.org/原创 2018-01-19 05:36:05 · 231 阅读 · 0 评论 -
POJ2723_Get Luffy Out_二分&&2-sat
题意有 2 * n 把钥匙两两凑成一对,一对钥匙中,能且只能选择一把钥匙能用。有 m 扇门,每扇门上有两个锁,每个锁都能用 2 * n 把钥匙中的一把打开。且必须按照输入的顺序依次开门。问最多能开几扇门。思路二分+2sat链接http://poj.org/problem?id=2723代码#include#include#include#include原创 2018-01-18 20:54:23 · 225 阅读 · 0 评论