其他分享
首页 > 其他分享> > P1063 能量项链

P1063 能量项链

作者:互联网

Miku

区间dp模板,记得longlong

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
long long n;
long long a[201];
long long b[201];
long long dp[201][201];
long long ans;
int main(){
	scanf("%lld",&n);
	for(long long i=1;i<=n;++i){
		scanf("%lld",&a[i]);
		a[n+i]=a[i];
	}
	for(long long i=1;i<=2*n;++i){
		b[i]=a[i+1];
	}
	b[2*n]=a[1];
	for(long long i=2;i<=n;i++){
		for(long long j=1;j+i-1<=2*n;++j)
			for(long long k=j;k<j+i-1;++k){
				dp[j][j+i-1]=max(dp[j][j+i-1],dp[j][k]+dp[k+1][j+i-1]+a[j]*b[j+i-1]*b[k]);	
			}
	}
	for(long long i=1;i<=n+1;++i){
		ans=max(ans,dp[i][i+n-1]);
	}
	cout<<ans;
	return 0;
}

标签:201,longlong,P1063,long,std,项链,能量,include,dp
来源: https://www.cnblogs.com/For-Miku/p/13449456.html