获得徽章 0
#青训营笔记创作活动# html标准骨架:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>

</body>
</html>

基本标签:
1、div 和 span 标签
div 是独占一行的, 是一个大盒子.
span 不独占一行, 是一个小盒子.
2、标题标签
<h1>一级标题</h1>
<h2>二级标题</h2>
<h3>三级标题</h3>
<h4>四级标题</h4>
<h5>五级标题</h5>
<h6>六级标题</h6>

3、段落标签
<p>我是一个段落标签</p>
4、换行标签
<br /> 是个单标签
<br /> 标签只是简单地开始新的一行
<p>准备换行 <br/>
准备换行 <br/>
这段要结束了</p>
5、格式化标签
<strong>加粗</strong>
<b>加粗</b>
<em>倾斜</em>
<i>倾斜</i>
<del>删除线</del>
<s>删除线</s>
<ins>下划线</ins>
<u>下划线</u>
展开
评论
#青训营笔记创作活动# 问题描述
小U计划进行一场从地点A到地点B的徒步旅行,旅行总共需要 M 天。为了在旅途中确保安全,小U每天都需要消耗一份食物。在路程中,小U会经过一些补给站,这些补给站分布在不同的天数上,且每个补给站的食物价格各不相同。

小U需要在这些补给站中购买食物,以确保每天都有足够的食物。现在她想知道,如何规划在不同补给站的购买策略,以使她能够花费最少的钱顺利完成这次旅行。

M:总路程所需的天数。
N:路上补给站的数量。
p:每个补给站的描述,包含两个数字 A 和 B,表示第 A 天有一个补给站,并且该站每份食物的价格为 B 元。
保证第0天一定有一个补给站,并且补给站是按顺序出现的。

测试样例
样例1:

输入:m = 5 ,n = 4 ,p = [[0, 2], [1, 3], [2, 1], [3, 2]]
输出:7

样例2:

输入:m = 6 ,n = 5 ,p = [[0, 1], [1, 5], [2, 2], [3, 4], [5, 1]]
输出:6

样例3:

输入:m = 4 ,n = 3 ,p = [[0, 3], [2, 2], [3, 1]]
输出:9
思路
这里创建了一个长度为 m + 1 的列表 dp,并将所有元素初始化为正无穷大 float('inf')。这个数组将用于存储从起点到每一天的旅行的最少花费情况。
然后将 dp[0] 初始化为 0,因为在第 0 天还没有开始旅行,不需要花费任何钱购买食物。外层循环 for i in range(n):遍历所有的补给站。对于每个补给站,获取其所在的天数 day 和食物价格 price。
内层循环 for j in range(day, m + 1):对于当前补给站所在的天数 day 到旅行总天数 m 的每一天 j,进行如下计算:
考虑两种情况来更新 dp[j] 的值:
不选择在当前补给站(索引为 i)购买食物,此时 dp[j] 的值保持之前计算得到的最小值。
选择在当前补给站购买食物,那么从当前补给站所在的天数 day 到第 j 天的花费就是从起点到 day 天的最少花费 dp[day] 加上从 day 天到 j 天购买食物的花费 (j - day) * price。通过 min 函数比较这两种情况,取较小值更新 dp[j]。
展开
评论
个人成就
文章被阅读 93
掘力值 10
收藏集
0
关注标签
0
加入于