WA求助
查看原帖
WA求助
556362
Unnamed114514楼主2022/8/30 23:55
#include<bits/stdc++.h>
using namespace std;
int dp[505][505],f[505][505],n,m,d[505];
int main(){
	scanf("%d%d",&n,&m);
	for(int i=2;i<=n;++i){
		scanf("%d",&d[i]);
		d[i]+=d[i];
	}
	for(int i=1;i<=n;++i)
		for(int j=i;j<=n;++j){
			int mid=(i+j)/2;
			for(int k=i;k<=j;++k)
				f[i][j]+=abs(d[mid]-d[k]);
		}
	memset(dp,0x3f,sizeof(dp));
	dp[0][0]=0;
	for(int j=1;j<=m;++j)
		for(int i=j;i<=n;++i)
			for(int k=j;k<=i;++k)
				dp[i][j]=min(dp[k-1][j-1]+f[k][i],dp[i][j]);
	printf("%d\n",dp[n][m]);
	return 0;
}
2022/8/30 23:55
加载中...