63分求调
  • 板块P1388 算式
  • 楼主LIANGMINGY
  • 当前回复4
  • 已保存回复4
  • 发布时间2025/7/30 14:43
  • 上次更新2025/7/30 18:31:36
查看原帖
63分求调
1708023
LIANGMINGY楼主2025/7/30 14:43
#include<bits/stdc++.h>
using namespace std;
long long n,k,dp[16][16][16];
int main(){
	cin>>n>>k;
	for(int i=1;i<=n;i++)cin>>dp[i][i][0];
	for(int g=0;g<=k;g++)
	for(int l=1;l<n;l++)
		for(int i=1;i+l<=n;i++){
			int j=i+l;
			for(int o=0;o<=g;o++)
			for(int kk=i;kk<j;kk++)
			dp[i][j][g]=max(dp[i][j][g],dp[i][kk][o]+dp[kk+1][j][g-o]);
			for(int o=0;o<=g;o++)
			for(int kk=i;kk<j;kk++)
			dp[i][j][g]=max(dp[i][j][g],dp[i][kk][o]*dp[kk+1][j][g-o-1]);
		}
	cout<<dp[1][n][k];
}
2025/7/30 14:43
加载中...