dp即可

\(f[i][j]\)表示i到j的加分

相当于区间dp了

#include<cstdio>
using namespace std;
int v[50];
int f[55][55];
int root[55][55];
void print(int l,int r)
{
if(l>r)return ;
if(l==r)
{
printf("%d ",r);
return ;
}
int tmp=root[l][r];
printf("%d ",tmp);
print(l,tmp-1);
print(tmp+1,r);
}
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&v[i]);
f[i][i]=v[i];
f[i][i-1]=1;
}
for(int i=n-1;i>=1;i--)
{
for(int j=i+1;j<=n;j++)
{
for(int k=i;k<=j;k++)
{
if(f[i][j]<(f[i][k-1]*f[k+1][j]+f[k][k]))//k为根节点
{
f[i][j]=f[i][k-1]*f[k+1][j]+f[k][k];
root[i][j]=k;
}
}
}
}
printf("%d\n",f[1][n]);
print(1,n);//输出中序遍历
return 0;
}

最新文章

  1. Git同步原始仓库到Fork仓库中
  2. RabbitMQ常用命令行
  3. red hat关于桥接模式连不上外网或者没有IP
  4. Silverlight安装成功后,提示安装
  5. Meet Github
  6. expdp / impdp 用法详解
  7. SC.UI
  8. hdoj-2033
  9. VSC 使用Git进行版本控制
  10. shutdown computer in ad and ou
  11. linux sendEmail工具的安装使用
  12. LeetCode &amp; Q13-Roman to Integer-Easy
  13. 认识Modbus协议
  14. Log4j使用笔记:每天生成一个日志文件、按日志大小生成文件
  15. Golang垃圾回收机制(二)
  16. 阿里云 oss 上传文件,js直传,.net 签名,回调
  17. 二路归并算法的java实现
  18. Xamarin 简化的Android密钥库签名
  19. mysql 日期相关 CURRENT_TIMESTAMP, CURRENT_DATE, CURRENT_TIME
  20. Android 音视频深入 十三 OpenSL ES 制作音乐播放器,能暂停和调整音量(附源码下载)

热门文章

  1. webapi初学项目(增删改查),webapi增删
  2. 广度优先搜索(BFS)思路及算法分析
  3. debug 查询服务日志,用于定位服务在运行和启动过程中出现的问题
  4. Python接口自动化基础---token鉴权
  5. 混编用到 C++中数组和vector 复习下大学课本
  6. JavaScript的变量和常量
  7. a标签中target属性为“_blank”时存在安全问题
  8. 转 Python3 ssl模块不可用的问题
  9. MySQL Lock--gap before rec insert intention waiting
  10. Linux下环境变量设置 (转)