[普及-]93767题解
2025-12-08 23:09:10
发布于:广东
11阅读
0回复
0点赞
本题几乎与93766一模一样,因此只给出转移方程和代码,剩下可以查看93766题解理解
设 为跳到第 石头时的最小花费。
可以轻易发现,本题的转移方程为:
代码如下:
#include<bits/stdc++.h>
using namespace std;
const int N = 100005;
#define int long long
int dp[N] , a[N] , n;
signed main(){
int m;
cin >> n >> m;
for(int i = 1;i <= n;i ++){
cin >> a[i];
dp[i] = 0x3f3f3f3f;
}
dp[1] = 0;
dp[2] = abs(a[1] - a[2]);
for(int i = 3;i <= n;i ++){
for(int j = 1;j <= m;j ++){
if(j == i) break;
dp[i] = min(dp[i] , dp[i - j] + abs(a[i] - a[i - j]));
}
}
cout << dp[n];
return 0;
}
全部评论 1
https://www.acgo.cn/problemset/info/93766
1周前 来自 广东
0








有帮助,赞一个