题解
2026-08-28 14:36:11
发布于:浙江
0阅读
0回复
0点赞
动态规划
参考代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
long long n,k,a[100010],dp[100010] = {0};
cin >> n >> k;
for (long long i = 1;i <= n;i++){
cin >> a[i];
}
memset(dp,0x3f,sizeof(dp));
dp[1] = 0;
for (long long i = 2;i <= n;i++){
for (long long j = 1;j <= k;j++){
if(i - j > 0){
dp[i] = min(dp[i],dp[i - j] + abs(a[i-j] - a[i]));
}
}
}
cout << dp[n];
return 0;
}
这里空空如也






有帮助,赞一个