Noip 2003 加分二叉树
来源:互联网 发布:apache网络服务器 编辑:程序博客网 时间:2024/05/20 20:20
1.把子树看作区间
2.枚举根
3.小区间转移到大区间,注意边界
#include <algorithm>#include <iostream>#include <cstdio>using namespace std;#define debug(x) cerr << #x << "=" << x << endl;const int MAXN = 50;long long ans;int f[MAXN][MAXN];int bre[MAXN][MAXN], size;int n,a[MAXN];void solve(int l, int r) { if(l>r) return; cout << bre[l][r] << " "; solve(l,bre[l][r]-1); solve(bre[l][r]+1,r);}int main() { cin >> n; for(int i=1; i<=n; i++) { cin >> a[i]; } for(int i=1; i<=n; i++) { f[i][i] = a[i]; bre[i][i] = i; f[i][i-1] = 1; } for(int r=1; r<=n; r++) { for(int l=1; l<=n-r; l++) { for(int k=l; k<l+r; k++) { if(f[l][k-1] * f[k+1][l+r] + a[k] > f[l][l+r]) { f[l][l+r] = f[l][k-1] * f[k+1][l+r] + a[k]; bre[l][l+r] = k; } } } } cout << f[1][n] << endl; solve(1,n); return 0;}
阅读全文
0 0
- NOIP 2003 加分二叉树
- NOIP 2003 加分二叉树
- Noip 2003 加分二叉树
- Noip 2003 加分二叉树
- 加分二叉树 noip
- Noip 2003T3 加分二叉树
- [NOIP 2003] 加分二叉树:DP
- [NOIP提高组2003]加分二叉树
- 加分二叉树 2003年NOIP全国联赛提高组
- 加分二叉树 2003年NOIP全国联赛提高组
- 加分二叉树[NOIP 2003提高组][Codevs 1090]
- 「2003NOIP提高组」加分二叉树
- NOIP 2003 提高组 复赛 加分二叉树
- 加分二叉树
- 1078 加分二叉树
- 加分二叉树_DP
- 加分二叉树
- 二叉树--面试加分
- json-- google json 组件
- Java与安卓PDF书籍
- IDEA安装及总结
- CSDN-markdown 首行缩进的快捷实现
- 实战案例——小帅优化网站,70天目标关键词全部第一
- Noip 2003 加分二叉树
- java解析xml文档的几种方式,概论
- C++ 程序崩溃调用堆栈打印
- 高端智能冰箱成白电市场新宠,营造品质生活方式为上策
- 一图囊括所有ES6知识点结构
- local variable 'xxx' referenced before assignment
- 适配器模式
- SSH框架搭建配置
- 总结提高关键词排名最全的41个技巧