站外题求助
查看原帖
站外题求助
756672
liou_zhen_4_xie_楼主2024/7/28 15:43

rt(part1

#include <bits/stdc++.h>
using namespace std;
int n,k,p=0,a[114514],s[114514],f[1005][1005]; 
int main(){
   	scanf("%d%d",&n,&k);
   	for(int i=1;i<=n;i++){
   		char str[25];
   		scanf("%s",str);
   		a[i]=strlen(str);
   		p+=a[i];
   		s[i]=s[i-1]+a[i];
	   }
	   p/=k;
	for(int i=1;i<=n;i++)
		for(int j=2;j<=k;j++) f[i][j]=0X7fffffff;
	for(int i=1;i<=n;i++) f[i][1]=s[i]*s[i];
	for(int j=2;j<=k;j++)
		for(int i=j;i<=n;i++)
			for(int j=1;k<i;k++)
				f[i][j]=min(f[i][j],f[k][j-1]+(s[i]-s[k])*(s[i]-s[k]));
	printf("%.1lf\n",f[n][k]/k-p*p);
   	return 0;
}

样例: 4 2 xxx xxxxx xxxx xx 都过不了

2024/7/28 15:43
加载中...