SCC BCC经典题目小结

hdu 3836
题意:
最少加几条边使得整张图scc。
思路:
先求出强连通分量对scc重新建图,预处理出新图每个点的入度和出度,统计出新图中出度为0和入度为0的点的个数分别为out0和in0,答案就是max(out0,in0)。

poj 2186
题意:
有m对奶牛之间的喜欢关系,喜欢关系有传递性,现在问有多少牛被所有的牛喜欢?(或有哪些牛)
思路:
先求出强连通分量对scc重新建图,预处理出新图每个点的出度,设出度为0的点数为cnt,如果cnt>1,就无解,否则cnt就是1,有解,遍历每个点属于的scc如果这个scc在新图中出度为0,就+1。(把这个点加入答案)

poj 2553
题意:
给你一个图,现在定义一个点u是牛逼的,如果u可以到达的所有点也都可以到达u,问有哪些点是牛逼的。
思路:
先求出强连通分量对scc重新建图,预处理出新图的每个点的出度,出度为0的scc里面的点就是牛逼的。

poj 3352
题意:
最少加几条边使整张图边bcc。
思路:
先求出边bcc然后对边bcc重新建图,预处理出新图每个点的度数,设度数为1的点数为cnt,最少需要加 (cnt+1)/2 条边就能使整条边bcc。

poj 2942 边双连通+染色法判二分图
题意:
一些骑士,他们有些人之间有矛盾,现在要求选出一些骑士围成一圈。
圈要满足如下条件:
1.人数大于1。
2.总人数为奇数。
3.有仇恨的骑士不能挨着坐。
问有几个骑士不能和任何人形成任何的圆圈?
思路:
首先反向建立补图,然后问题转换成在图中找奇圈,圈肯定出现在双联通分量中,则求出图的双联通分量,又通过特性知道,一个双联通分量有奇圈则其中的点都可以出现在一个奇圈中。而对于奇圈的判定可以用交叉染色判断是非为二分图,二分图中肯定无奇圈。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值