1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-11 02:58:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/守护太空城 [EJvmW4].md

51 lines
2.1 KiB
Markdown
Raw Normal View History

2023-12-09 18:42:21 +08:00
<p>各位勇者请注意,力扣太空城发布陨石雨红色预警。</p>
<p>太空城中的一些舱室将要受到陨石雨的冲击,这些舱室按照编号 <code>0 ~ N</code>&nbsp;的顺序依次排列。为了阻挡陨石损毁舱室,太空城可以使用能量展开防护屏障,具体消耗如下:</p>
<ul>
<li>选择一个舱室开启屏障,能量消耗为 <code>2</code></li>
<li>选择相邻两个舱室开启联合屏障,能量消耗为 <code>3</code></li>
<li>对于已开启的&nbsp;<strong>一个&nbsp;</strong>屏障,<strong>多维持一时刻</strong>,能量消耗为 <code>1</code></li>
</ul>
<p>已知陨石雨的影响范围和到达时刻,<code>time[i]</code>&nbsp;<code>position[i]</code>&nbsp;分别表示该陨石的到达时刻和冲击位置。请返回太空舱能够守护所有舱室所需要的最少能量。</p>
<p><strong>注意:</strong></p>
<ul>
<li>同一时间,一个舱室不能被多个屏障覆盖</li>
<li>陨石雨仅在到达时刻对冲击位置处的舱室有影响</li>
</ul>
<p><strong>示例 1</strong></p>
<pre>
输入time = [1,2,1], position = [6,3,3]
输出5
解释:时刻 1分别开启编号 3、6 舱室的屏障,能量消耗 2*2 = 4。时刻 2维持编号 3 舱室的屏障,能量消耗 1。因此最少需要能量 5。
</pre>
<p>&nbsp;</p>
<p><strong>示例 2</strong></p>
<pre>
输入time = [1,1,1,2,2,3,5], position = [1,2,3,1,2,1,3]
输出9
解释:时刻 1开启编号 1、2 舱室的联合屏障,能量消耗 3。时刻 1开启编号 3 舱室的屏障,能量消耗 2 。时刻 2维持编号 1、2 舱室的联合屏障,能量消耗 1。时刻 3维持编号 1、2 舱室的联合屏障,能量消耗 1。时刻 5重新开启编号 3 舱室的屏障,能量消耗 2。因此最少需要能量 9。
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= time.length == position.length &lt;= 500</code></li>
<li><code>1 &lt;= time[i] &lt;= 5</code></li>
<li><code>0 &lt;= position[i] &lt;= 100</code></li>
</ul>