AtCoder Educational DP Contest B - Frog 2

這題是A-Frog 1的加強版
不過多一個迴圈還是輕鬆解決
以下為code
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
#define AC ios::sync_with_stdio(0),cin.tie(0);

int main()
{
AC
int n,k;
cin>>n>>k;
vector<int> v(n),dp(n,1e9);
for(int i=0;i<n;i++)
cin>>v[i];
dp[0]=0;
for(int i=1;i<n;i++)
for(int j=1;j<=k;j++)
if(i-j>=0) dp[i]=min(dp[i-j]+abs(v[i]-v[i-j]),dp[i]);
cout<<dp[n-1]<<'\n';
}

留言

這個網誌中的熱門文章

TIOJ 1080 . A.逆序數對 (BIT解法)

ZJ d718: Waiting In Line

AtCoder Educational DP Contest E - Knapsack 2