Loading

CF1847E 做题记录

依托题。link

第一个想法是依次询问所有 \((i, i + 1, i + 2)\),但不合法三角形种数过多,不容易搜索。

思考剩下 \(500\) 次询问能干什么,一定是一个相对具体的、独立的算法过程。

还是需要先寻找具体的突破口,考虑询问一个等边三角形,得到结果后很容易得知其边长,且是唯一的。

根据鸽巢原理,前 \(9\) 条边中必定存在三条长度相等的边,若 \(n < 9\) 暴搜是容易的。

\(w\) 为等边三角形边长,我们可以充分利用这三条确定的长度为 \(w\) 的边。

\(w \ge 2\),那么询问 \(w, w, x\) 可以快速得知 \(x\) 的值。

\(w = 1\),先去掉所有长度为 \(1\) 的边。对于剩下的边,可以继续类比。

若存在两条等长的边,和 \(1\) 拼起来是一个等腰三角形,且是可以快速得知的唯一的。就可以转化为 \(w \ge 2\) 的情况。

根据鸽巢原理,前 \(4\) 条边中必定存在等长的一对边,若少于 \(4\) 暴搜是容易的。

  • 启示:构造/交互寻找最直接的突破口,比如这题是询问一个等边三角形以得知三条长度相等的边,用这三条长度相等的边去询问其他边,进而得出更多的分类讨论。
posted @ 2025-01-28 20:00  Sktn0089  阅读(20)  评论(0)    收藏  举报