今年省赛(GDCPC 2012 )我们学校成绩还算不错,派出两队,一队一等,一队二等,学校排名第二,可以说是我们学校有史以来省赛成绩最好的吧。
题意:求一个无向图最少添加多少条边可以使这个图是边双连通的,值得注意的是这个无向图可能有重边。
题意:有N个骑士,他们之间有一些有矛盾,他们要坐在一个圆桌一起开会,有矛盾的不能坐着相邻,而且一定是有奇数个人开会。这样就会有一些骑士一定不能参加会议。求一定不能参加会议的骑士的人数。
题意:在一个有向图中,求满足只要U能到达的点V,则V就能到达U的所有点.
解法:首先强连通缩点,然后就是找到叶子节点就是满足条件的点.
题意:在一个有向图中,求所有点都指向它的点的点的个数,如果A指向B,B指向C则A指向C.
解法:首先求强连通分量,然后把强连通分量缩成一个点,图重构的时候是反向边.接下来就是找是否有且只有一个出度为0的点,看这个点能不能遍历所有的点
题意:求两个点之间的路径是否经过关键点
这个题做了比较久,只要是一个地方我搞错了. 我以为双向图是没有横叉边的,其实照我的算法是会有的.就是用dfn判断有没有访问过,没有访问过的就是树枝边,有访问过的就是后向边,这里有一点点问题.其实不一定是后向边,这里还要判断一下dfn[v]和dfn[u](low[u])的大小.比如说:
5 6 1
0 1
0 2
1 2
1 3
1 4
3 4
0 3
就会出现错误了.
改了这里之后也就AC了.