一些(构造)题
不会写标题了((
Y-Shaped Knife
(from Petrozavodsk Winter 2020. Day 4. Yandex Cup 2020. A)
假设我们固定了 Y 形的角度为:一定有一条平行于 \(y\) 轴的竖线。
假设从左到右枚举了竖线的 \(x\) 坐标,把所有点按照 Y 形剩下两条斜线的角度投影到竖线上。(可以先把所有点随机旋转一个角度来避免投影后坐标重合。)
在竖线上找到上 \(\frac{2}{3} n\) 与下 \(\frac{1}{3} n\) 的分界点,则要求上 \(\frac{2}{3} n\) 恰好有 \(\frac{1}{3} n\) 个来自左边/右边。
可以发现,随着 \(x\) 从 \(-\infty\) 变大到 \(\infty\),左边的点数从 \(0\) 逐渐变大到 \(\frac{2}{3} n\),于是可以二分一个合法的 \(x\)。
Anti-stress
(from Petrozavodsk Winter 2022. Day 5. Yandex Cup. F)
考虑画一个十字形,把第 \(1,3\) 象限和第 \(2,4\) 象限分别匹配,红点是 \((0,0)\),如果蓝点和黄点的数量匹配就匹配成功。
如果确定了十字形的角度,那么两条分割线的位置是确定的(必须把点分成两半),因此可以 check 一个角度是不是可行的。