1 条题解
-
0
题解
知识点提炼
动态规划优化
核心解题思路
思路1:利用特性(20pts)
对于前数据,x_i始终为0,y_i为0或1。如果跳过一个点有可能少走距离。
而跳过第一个点的跳过的花费为,第二个点花费也为,第三个点则花费为,第四个点花费为...故最多跳过两个点,跳更多的点并不会导致答案更优秀。
考虑暴力地枚举不跳过点、跳过一个点、跳过相邻的两个点和跳过不相邻的两个点的四种情况,时间复杂度为。
时间复杂度,期望得分分。
思路2:01dfs(40pts)
对于的数据, ,考虑01dfs枚举到是否被删,在dfs终点计算当前01状态的花费,更新答案。
时间复杂度。期望得分分。
思路3:动态规划(50pts)
设立为到了i号点,且删了k个点的最小花费。则答案为取min。
对于号点,枚举下一步去号点,则会跳过个点,状态可以转移至,所需花费为原花费、到的距离、新增删点花费为删掉个点的花费减去删掉个点的花费。如果花费小于则可更新之。
时间复杂度。期望得分分。
思路4:动态规划优化(100pts)
注意到,故最坏情况下不跳过点的花费为,不超过。
故跳过点的数量不会超过次,否则至少存在一个方案所需花费更小:一个点也不跳过的方案。
所以我们可以在动态规划时,对于号景点,只枚举后续的个景点进行dp即可。
时间复杂度。期望得分分。
本题易错点
有可能在部分分时无法想到动态规划的优化错失满分。
有可能忽略号点和号点不允许跳过的限制,得出错误的结果。
信息
- ID
- 68
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- (无)
- 递交数
- 60
- 已通过
- 15
- 上传者