欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF2148B.Lasers
Lasers
题目描述
在一个二维坐标平面上,坐标范围为 $$(0,0)$$ 到 $$(x, y)$$。你位于 $$(0,0)$$,目标是到达 $$(x, y)$$。
但是,平面上有 条水平激光,第 条激光从 $$(0, a_i)$$ 到 $$(x, a_i)$$,还存在 条竖直激光,第 条激光从 $$(b_i, 0)$$ 到 $$(b_i, y)$$。
你可以沿任意方向移动以到达 $$(x, y)$$,但你的运动轨迹必须是平面内的一条连续曲线。每当你穿越一条水平或一条竖直激光,计为一次穿越。特别地,如果你经过两条激光的交点,则计为两次穿越。
例如,若 ,,,,运动方式如下所示:

问最少需要穿越多少次激光才能到达 $$(x, y)$$。
输入格式
第一行包含一个整数 (),表示测试用例数量。
每组测试数据的第一行包含四个整数 、、 和 ($1 \leq n, m \leq 2 \times 10^5,\ 2 \leq x ,y \leq 10^9$)。
接下来一行包含 个整数 (),表示所有水平激光的 坐标。保证对于所有 ,有 。
接下来一行包含 个整数 (),表示所有竖直激光的 坐标。保证对于所有 ,有 。
保证所有测试用例的 和 之和不超过 。
输出格式
对于每组测试数据,输出到达 $$(x, y)$$ 所需穿越激光的最小次数。
说明/提示
由 ChatGPT 5 翻译
样例
2
1 1 2 2
1
1
2 1 100000 100000
42 58
32
2
3
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |