@yang12138
2018-08-20T23:09:44.000000Z
字数 477
阅读 1201
未分类
题意:
有门课程,每门课程可以在第或天完成考试,限制一天最多只能完成一门考试,最早什么时候可以完成所有考试?
数据范围:
解析:
把每天看做一个点,每门课程看成一条边,对所有连边,那么就是为每条边分配一个端点,每个点最多只能被分配给一条边。考虑同一个联通块:
1、如果联通块里有恰好条边(树),那么显然把时间最大的点当根,一下,每条边分配给相应的儿子节点,也就是最优情况是把时间最大的点去掉。
2、如果联通块有条边(基环树),那么所有时间点都需要被用上,同时也显然能构造出可行解。
3、如果联通块有条以上的边,显然会导致无解。
用并查集跑一下即可。
原题链接:http://codeforces.com/problemset/problem/1027/F
参考代码:http://codeforces.com/contest/1027/submission/41906486