#include"bits/stdc++.h"
using namespace std;
const int N = 310;
int w[N];
int f[N][N][N];
int n;
int dp(int l, int r, int p) {
if(l > r) return 0;
if(f[l][r][p] != -1) return f[l][r][p];
int ret = 2e9;
for(int i = l; i<=r ; i++) {
int left = dp(l,i-1,i);
int right = dp(i+1,r,i);
ret = min(ret,left + right + w[i]*w[p]);
}
f[l][r][p] = ret;
return ret;
}
int main() {
cin >> n;
memset(f,-1,sizeof f);
for(int i = 1; i<=n ; i++) cin >> w[i];
cout << dp(1,n,0);
return 0;
}
using namespace std;
const int N = 310;
int w[N];
int f[N][N][N];
int n;
int dp(int l, int r, int p) {
if(l > r) return 0;
if(f[l][r][p] != -1) return f[l][r][p];
int ret = 2e9;
for(int i = l; i<=r ; i++) {
int left = dp(l,i-1,i);
int right = dp(i+1,r,i);
ret = min(ret,left + right + w[i]*w[p]);
}
f[l][r][p] = ret;
return ret;
}
int main() {
cin >> n;
memset(f,-1,sizeof f);
for(int i = 1; i<=n ; i++) cin >> w[i];
cout << dp(1,n,0);
return 0;
}
2021-03-05
在牛客打卡4天,今天学习:刷题 14 道/代码提交 24 次
全部评论
相关推荐
CUG芝士圈:虽然是网上的项目,但最好还是包装一下,然后现在大部分公司都在忙校招,十月底、十一月初会好找一些。最后,boss才沟通100家,别焦虑,我去年暑假找第一段实习的时候沟通了500➕才有面试,校友加油
点赞 评论 收藏
分享