洛谷 P1442 铁球落地【线性dp+线段树预处理+离散化】

本文介绍了一种解决二维平台铁球滚动问题的策略,涉及动态规划和线段树技术,旨在找到使球尽快落地的最小时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原题链接:https://www.luogu.com.cn/problem/P1442

题目描述

在二维坐标系内有 n 个平台(定义平台是一条两端点纵坐标相同的开线段,开线段指线段两个端点不算做线段本身)和一个铁球,铁球如果下面没有物体,则每秒会下落一个单位长度。

球每次落到某个平台上后,游戏者可以选择水平向左或水平向右滚,球滚动速度是每秒 1 个单位长度。由于铁球的质量不太好,每次落下的高度不能超过 h。

设计一种策略,使得球尽快落到地面而不被摔碎。

假设地面高度为 0,且无限宽。球体积相对平台极小,可以看作一个质点。请注意,球滚动至平台的一个端点处即可下落,不需要滚动至下一个格子。例如下图,小球在 (9,9) 处已经开始下落。

输入格式

第一行有两个整数,分别代表平台个数 n 和最大下落高度 h。

第二行有两个整数 x,y,表示铁球起始时在坐标为 (x,y) 的位置。

第 3到第 (n+2) 行,每行三个整数,第(i+2) 行的整数 hi​,li​,ri​ 分别代表第 i 个平台的端点纵坐标 hi​ 和左右端点的横坐标li​,ri​。

输出格式

输出一行一个整数表示最小的坠落时间。

输入输出样例

输入 #1

5 3
6 10
5 2 4
9 3 9
6 7 10
2 1 5
3 8 11

输出 #1

15

输入 #2

10 156
84 139
63 22 50
79 96 100
87 77 98
60 24 53
47 1 29
62 55 89
68 68 78
10 5 85
85 67 71
73 57 61

输出 #2

155

说明/提示

数据规模与约定

对于全部的测试点,保证:

  • 1≤n≤1e5。
  • 1≤x,y,h,hi​,li​,ri​≤1e9,li​≤ri​。
  • 对于所有的 hi​,保证互不相同,li​ 与 ri​ 也互不相同,且对于任意i不等于j, 保证 li不等于rj。
  • 数据保证有解,最终答案不超过 1e9。

解题思路:

首先当球在一个线段上时,存在俩种操作。

第一种操作是从线段左边往下滚掉到下一个线段。

第二种操作是从线段右边往下滚掉到下

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值