区间dp求调
查看原帖
区间dp求调
1409331
andyoier楼主2024/10/9 21:23
#include<bits/stdc++.h>
using namespace std;
int n;
long long E;
int zz[250];
int f[205][205];
int maxn=0;
int main()
{
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>zz[i];
		zz[i+n]=zz[i];
	}
	for(int i=1;i<=2*n-2;i++)
	{
		int j;
		for(j=i+2;j<=i+n;j++)
		{
			for(int k=i;k<j;k++) f[i][j]=max(f[i][j],f[i][k]+f[k][j]+zz[k-1]*zz[k]*zz[k+1]);
		}
		
	}
	for(int i=0;i<n;i++)
	{
		maxn=max(f[i][i+n],maxn);
	}
	cout<<maxn;
	return 0;
}
2024/10/9 21:23
加载中...