一句话题解

tarjan

poj 3352 Road Construction

求最少添加几条边才能使所给无向图变成边双连通图。

求出边双,缩点成一个树,之后统计树上的点度数为1的点的个数cnt,(cnt+1)/2就是答案。

定理:任意一颗无向图的树,成为双连通图,则需要增加的边数为(这棵树上所有度数为1的结点的个数+1)/2。

 

luogu P2746 [USACO5.3]校园网Network of Schools 

1.求最少让几个人知道就可以做到让所有的人都知道信息,最少知道的人的数目即为缩完点后入度为零的点的个数

2.最少加入几条边就可以使一个树变成一个强连通图,加的边的条数即为缩完点后 Max(入度为零的点的个数,出度为零的点的个数)

定理:任意一棵有向图的树,成为强联通分量,则需要增加的边数为max(入度为0的点的个数,出度为0的点的个数)

 

P3119 [USACO15JAN]草鉴定Grass Cownoisseur

求改变一条边的方向,有向图中包含1的强联通分量最大。

缩点所有的强联通分量,然后拓扑求最长链到1的距离,枚举改那条边

 

P2515 [HAOI2010]软件安装

tarjan缩点+树形dp

 

 

 

 

posted @ 2017-11-25 16:13  MJT12044  阅读(166)  评论(0编辑  收藏  举报