省选模拟24 题解

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)$ 到每个关键点的左上角的点的最短路树。

路径是不跨过最短路树的。

因为一次跨过去,对应一次跨回来,这段路程显然是大于最短路径的。

然后可以发现问题是一个网格图的最小环。

把每个点拆为四个点,分别表示当前在这个点的左上、右上、右下、左下来尝试套圈。

对于最短路树上的边,不建立连边关系。

通过最短路确定最小环即可。

猜你喜欢

转载自www.cnblogs.com/skyh/p/12309677.html