A. U.N.OWEN就是她吗?
字典序最大,只需要贪心。
考虑用网络流来做这个题。
每次二分一个答案,然后对当前操作和之前进行的操作与每个元素直接建边,判断是否存在完美匹配。
因为题中保证了一个特殊性质,考虑通过霍尔定理优化。
点集 $X,Y$ 存在完美匹配,仅当 $\forall Z \in X,|match(Z)|>=|Z|$ 。
于是问题转化为,加入当前这个点,考虑包含当前点的子集是否成立。
如何利用题中不相交的性质?
结论是,只需要考虑包含当前点的区间。
证明其实很简单:
考虑三个点按左端点排序分别为为 $i,j,k$ ,其中当前加入的点为 $i$ 。
只需要证明不存在情况,使得 $|match(i) \cup match(k)|<|i|+|k|$ ,但 $|match(i) \cup match(j) \cup match(k)|>=|i|+|j|+|k|$
因为$i,j,k$的左端点是单调的,显然右端点也是单调的。
那么可以分两种情况考虑,若 $match(i) \cap match(j) \ne \varnothing$ ,那么加上 $j$ ,只会使不等关系的右侧变大,所以原式成立。
若 $match(i) \cap match(j) = \varnothing$ ,那么可以直接删去$k$,因为 $|match(k)|>=|k|$ 是原来考虑过的内容。
所以只需要考虑区间的结论是正确的。
考虑一个暴力做法,分别统计当前节点左侧、右侧的最劣情况,最终合并,这个复杂度是 $O(m^2)$。
发现可以通过前缀和维护,问题转化为区间最小值最大值,区间修改,线段树可以解决。
B. 哈德曼的妖怪少女
鸽了。
C. 平安时代的外星人
考虑首先跑出来由 $(0,0)$ 到每个关键点的左上角的点的最短路树。
路径是不跨过最短路树的。
因为一次跨过去,对应一次跨回来,这段路程显然是大于最短路径的。
然后可以发现问题是一个网格图的最小环。
把每个点拆为四个点,分别表示当前在这个点的左上、右上、右下、左下来尝试套圈。
对于最短路树上的边,不建立连边关系。
通过最短路确定最小环即可。