ABC344G 题解
ABC344G 题解
给定平面上
形式化的,对于直线
但是我们显然不可能暴力进行排序,本题重点在于优化。
key:对于每对点,它们的先后顺序只可能反转一次
证明:设点
- 若
,显然顺序只与 有关,不会改变 - 否则,设当前斜率为
,满足
如果反转,则说明
显然,当 从小到大排序时,只会有一次反转
现在解法就变得显然了。
- 将所有直线按
从小到大排序,初始所有点按字典序排序 - 预处理每对点会在哪个
反转顺序,塞进优先队列 - 顺序处理每条直线,先反转所有应该反转的点,再二分答案
复杂度分析:
总复杂度为
极限复杂度大概
tricks:
- 改写式子,分离变量
- 利用单调性,排序的更新可以与询问次数无关
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】