题目在最后
`#include<bits/stdc++.h>
using namespace std;
const int maxn=105;
i

  1. List item

nt a[maxn];
int dp[maxn][maxn];
int main(){
int t,n,j=1;
cin>>t;
while(t–){
cin>>n;
memset(a,0,sizeof(a)); memset(dp,0,sizeof(dp));
for(int i=1;i<=n;i++)
cin>>a[i];
for(int len=3;len<=n;len++)
for(int i=1;i+len-1<=n;i++){
int r=i+len-1;
for(int k=i+1;k<r;k++)
dp[i][r]=max(dp[i][r],dp[i][k]+dp[k][r]+a[i]*a[k]*a[r]);
} cout<<“Case #”<<j++<<": "<<dp[1][n]<<endl;
}
return 0;
}`区间dp

相关文章:

  • 2021-06-08
  • 2021-06-16
  • 2021-12-06
  • 2021-08-12
  • 2021-05-31
猜你喜欢
  • 2021-08-21
相关资源
相似解决方案