#P14957. [2026年重庆省队集训]吃不饱堡

    ID: 14173 传统题 2000ms 512MiB 尝试: 4 已通过: 1 难度: 10 上传者: 标签>CF3000动态规划数据结构线段树数学斜率优化二分贪心

[2026年重庆省队集训]吃不饱堡

吃不饱堡需要你完成一个任务。俱乐部可以被看做一个包含 nn 层楼的大楼,从下到上第 ii 层楼的高度为 hih_i。每一层楼上有一个人,初始第 nn 层楼的人手上拿着一个小球。

若第 ii 层楼上的人拿着小球,他可以将小球向下扔,初速度可以在 00viv_i 之间任意选择一个非负实数。注意:小球的初速度方向一定为竖直向下。

在小球自由落体的过程中,当小球经过第 ii 个人身边时,若小球的瞬时速度不超过 lil_i,则这个人可以接住小球。接住小球后他可以继续将小球向下扔。

若小球被第 11 层楼的人接住,则任务完成。否则若小球在被第 11 层楼的人接住前碰到地面,任务失败。不妨设重力加速度为 g=1g=1,且接球和扔球的时间忽略不计,你需要求出完成任务需要的最短时间,或者声称无法完成任务。

输入格式

输入的第一行包含一个正整数 nn

接下来的 nn 行每行包含三个正整数 hih_iviv_ilil_i,表示第 ii 层楼的参数。参数意义见题目描述。

保证楼层的高度有序,即对于所有 1i<n1\leq i < n,满足 hi<hi+1h_i < h_{i+1}

输出格式

若无论如何都无法完成任务,输出一个整数 1-1

否则,输出一个实数,表示最短可能的完成时间。你的答案被认为正确,当且仅当相对误差或绝对误差不超过 10610^{-6}

样例输入与输出

样例输入

5
2 1 7
14 6 4
18 1 7
21 2 5
28 4 10

样例输出

6.000000

样例解释

若小球以初速度 vv 向下落,tt 秒后小球的瞬时速度为 v+gtv+gt,经过的路程为 vt+0.5gt2vt+0.5gt^2

一种最优策略为:

  • 55 层楼的人将小球以初速度 44 扔下,计时开始;
  • 22 秒后,小球的瞬时速度是 66,第 33 层楼的人将小球接住,然后将小球以初速度 11 扔下;
  • 22 秒后,小球的瞬时速度是 33,第 22 层楼的人将小球接住,然后将小球以初速度 55 扔下;
  • 22 秒后,小球的瞬时速度是 77,第 11 层楼的人将小球接住,计时结束,总用时为 66 秒。

数据范围与子任务

本题开启捆绑测试。

对于所有数据,保证 2n3×1052\leq n\leq 3\times 10^51hi10181\leq h_i\leq 10^{18}1vi,li1091\leq v_i,l_i\leq 10^9,保证 hih_i 递增。

子任务 1155 分):n17n\leq 17
子任务 221515 分):n2×103n\leq 2\times 10^3
子任务 331515 分):n105n\leq 10^5。保证至少存在一种完成任务的方案。
子任务 442020 分):n105n\leq 10^5
子任务 5555 分):保证若可以完成任务,则一定存在一种最优策略满足,每个人均会接住小球。
子任务 661010 分):保证至少存在一种完成任务的方案。
子任务 773030 分):无特殊限制。