zoj 3795 Grouping(tarjin+dfs)
题意:
n个人,m个年龄比较,si,ti代表si年龄小于ti。被直接比较过年龄或者间接比较过的不能分在一组,问最少需要分在几组中。
解题思路:
一开始想的是去找一条最长的路,也即树的直径,这里是单向边的话直接找一遍就行。但是会有成环的情况,成环的点是都不能分在同一个组的,所以直接找最长路的话不一定能全部取出成环的点,所以缩点,然后再去找点值最大的一条路径,点值即一个强连通分量中点的个
原创
2017-06-16 22:32:11 ·
333 阅读 ·
0 评论