日常习题选做
[HNOI2014]画框
整个比赛链接只有一道值得一做的题,选题人怎么在选题?
其实是一个特别厉害的 trick。
我们一共有 \(n!\) 种决策方式。
考虑到这些决策贡献的特殊性,我们将他们拍到坐标系上,则答案变为最小的 \(x \times y\)。
点太多了,我们注意到只有较少的一部分点有可能贡献,即我们的下凸壳。
期望意义下, \(n\) 个点的凸包个数为 \(\sqrt{\ln n}\)。
则我们本题中凸壳个数大概为 \(\sqrt{\ln n!}\)。实际上在 \(20\) 左右。
然后我们分治求凸包就完了。
具体地,我们先找到 \(x\) 坐标最小的点,以及 \(y\) 坐标最小的点,这两个点一定分别是凸包的左右端点。
然后我们每次分治找到一个区间的凸包点,考虑在处理当前区间线段的最远的点,这个点一定在凸包上。
也很好求,手算一下就可以重新规定一下每条边的权值,跑最大权匹配,然后分治就做完了。