当前位置: 首页 > news >正文

CF1209H tj

zd 讲的啥玩意啊。

题意

你初始的能量为 \(0\),每秒会回复一点能量,同时你每秒可以花 \(x\in [0,2]\) 点能量行走 \(x\) 的距离。

同时地上会有 \(n\) 个传送带,传送带的基础速度为 \(s_i\),求从 \(0\) 走到 \(L\) 的最短时间。

sol

神题吧。

首先你先把地上没有传送带的地方也看成一个速度为 \(0\) 的传送带,然后你给所有的传送带速度加 \(1\),那么你的速度就是 \([-1,1]\) 的范围了,原因下面会讲。

因为我们要求最快走到 \(L\),所以我们直接拉满这个速度,把他顶到当前传送带的极速 \(v+1\)

这个时候我们就会倒欠能量,所以说我们需要前面把能量补过来,类似于反悔贪心。

假设我们当前想要的能量为 \(E\),对于前面一个人就要满足 \(\frac{L}{v'-x} x=E\),其中 \(L\) 是这个传送带的长度,\(v'\) 是这个传送带的速度,\(x\) 是减少的速度。

那么我们答案的增量就是 \(ans+=\frac{L}{v'-x} - \frac{L}{v'}\) 通分一下会发现这个形式非常滴优美:

\(ans+=\frac{E}{v'}\) 这下只需要挑当前最大速度的选就行了,随便挑个数据结构维护一下即可。

http://www.hskmm.com/?act=detail&tid=28282

相关文章:

  • AirBattery - 在Mac上实时监控所有苹果设备电量
  • HTML学习日记
  • 10.10每日总结
  • 二分图与网络流 Trick
  • 10月10号
  • win11 系统如何进行硬盘分区?固态硬盘怎么分区?SSD 固态硬盘分区教程
  • 10/10
  • 数论(未完)
  • 没做完的题
  • 第十一天
  • JavaScriptDay1
  • 淘宝NPM镜像地址https://registry.npm.taobao.org不可用
  • 星星充电一面
  • 6 CF1034 div3 题解
  • 5 ABC413 题解
  • 4 CF 1032 div3 题解
  • 3 ABC411 C ~ E题解
  • 9 ABC408 D~F 题解
  • 8 ABC425 G 题解
  • 智能防御,安全赋能:AI-FOCUS 滤海AI DLP 化解外部 AI 风险
  • IDEA快捷键
  • VS code 中代码补全 自动补全函数括号
  • 优先队列
  • 学习ReAct并使用langgraph实现一个简单的ReAct AI Agent!!
  • abc 408 d~f
  • RMQ与LCA学习笔记
  • mamba-硬件感知算法
  • Java1
  • 完整教程:lua代码解析1
  • 二维数点