@[中国飞鱼](/space/show?uid=59646)
by Tyher @ 2018-06-10 11:45:49
@ 中国飞鱼
by xzyxzy @ 2018-07-05 15:10:48
@[中国飞鱼](/space/show?uid=59646)
by xzyxzy @ 2018-07-05 15:10:52
@[中国飞鱼](/space/show?uid=59646)
by 空气人 @ 2019-02-12 19:28:39
@[中国飞鱼](/user/59646)
by Knight_Master @ 2019-12-28 14:56:03
@[中国飞鱼](/user/59646)
by yoyi @ 2020-01-29 20:43:48
@鱼飞国中
by Spasmodic @ 2020-08-09 10:09:09
@[中国飞鱼](/user/59646)
by __shadow__ @ 2021-08-16 17:09:12
```
#include<bits/stdc++.h>
using namespace std;
int n,m;
int dp[505][505],s[505],sum[505][505];
int main()
{
scanf("%d%d",&n,&m);
memset(dp,127,sizeof(dp));
for(int i=2;i<=n;i++)
{
scanf("%d",&s[i]);
s[i]=s[i-1]+s[i];
}
for(int i=1;i<=n;i++)
for(int j=i+1;j<=n;j++)
sum[i][j]=sum[i][j-1]+s[j]-s[(i+j)/2];
for(int i=1;i<=n;i++)
dp[i][1]=sum[1][i];
for(int k=2;k<=m;k++)
for(int i=k;i<=n;i++)
for(int j=k-1;j<i;j++)
dp[i][k]=min(dp[i][k],dp[j][k-1]+sum[j+1][i]);
printf("%d",dp[n][m]);
return 0;
}
```
by 5995Aa @ 2022-02-13 11:32:36
@[中国飞鱼](/user/59646)
by disdisdisyou @ 2022-08-02 15:41:06