2019-2020 ICPC Southwestern European Regional Programming Contest (SWERC 2019-20)
http://codeforces.com/gym/102501
按难度排序
F. Icebergs
题意:给定几块不相交的多边形,问面积和。
直接抄板子即可,面积由向量叉乘得到,注意得到的是有向面积,可能为负,要绝对值。
1 |
|
A. Environment-Friendly Travel
题意:平面上有几个点,要从起点到终点,满足总距离不超过B,每条边有一个单位花费,总花费为每条边的单位花费乘距离,要最小化花费。
直接从起点bfs到终点,不同的是bfs时把距离超过B的去掉,并要使得花费最小,而不是距离最小。
1 |
|
K. Birdwatching
题意:给定有向图,终点T,如果从u到T必定经过边 (u,T) ,则输出点u。
把存在到T的边的点视为可能的点,如果一个可能的点能到另一个可能的点,则第一个点必定不行。把所有必定不行的点都去掉,就是答案。
本来可以直接dfs得到,如果当前点可能,且能达到可能的点,则当前点必定不行,但是由于可能有环,所以强连通分量缩点后dfs,同一个强连通分量里如果有两个可能的点,则这个分量里所有点都不行。
1 |
|
G. Swapping Places
题意:有一群动物排成一队,属于几种种族,有几对种族之间如果相邻则可以交换位置。要使得队伍的字典序最小。
拓扑排序
考虑等价条件。
如果两个动物不能交换,则它们的相对位置是固定的,而也容易推得在满足这一条件的情况下,其它位置可以任意改变。所以这是个等价条件。
那么只要向拓扑排序一样找到所有动物的父节点,仅当父节点都排完之后,才能轮到它。而在所有能轮到的动物中贪心选择字典序最小的。
要注意相同种群的可能在安排时顺序改变,导致有些动物的父亲早早地用掉,而轮到它,但是如果把所有相同地动物都作为它的父亲,那么边数又太多,所以还要限定种族相同时先用位置靠前的。
1 |
|
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment