中国飞鱼

P4677 山区建小学

@[中国飞鱼](/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


|