uva 10304 Optimal Binary Search Tree (区间DP)
来源:互联网 发布:udp源端口号 编辑:程序博客网 时间:2024/06/05 14:31
uva 10304 Optimal Binary Search Tree
题目大意:给出N个结点(已知每个结点的权值)来建树,建树时要满足以下规则:左子树的节点的值要全小于父节点,右子树的节点的值要全大于父节点。要求最后建出的树总权值最小。总权值=各结点乘以层数(从0层开始)之后相加的和。
解题思路:dp[i][j] 代表区间第i个结点到第j个结点组成的树最小的总权值。dp[j][i]=min(dp[j][i],dp[j][k−1]+dp[k+1][i]+sum[i]−sum[j−1]−num[k])
#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <cstdlib>using namespace std;typedef long long ll;int main() { return 0;}#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <cstdlib>#define N 300using namespace std;typedef long long ll;int num[N];int dp[N][N], sum[N];int main() { int n; while (scanf("%d", &n) == 1) { sum[0] = 0; for (int i = 1; i <= n; i++) { scanf("%d", &num[i]); sum[i] = sum[i - 1] + num[i]; } memset(dp, 0, sizeof(dp)); for (int i = 2; i <= n; i++) { for (int j = i - 1; j > 0; j--) { dp[j][i] = 0xFFFFFFF; for (int k = j; k <= i; k++) { dp[j][i] = min(dp[j][i], dp[j][k - 1] + dp[k + 1][i] + sum[i] - sum[j - 1] - num[k]); } } } printf("%d\n", dp[1][n]); } return 0;}
0 0
- uva-10304 Optimal Binary Search Tree(区间dp)
- uva 10304 - Optimal Binary Search Tree(区间dp)
- UVA 10304 Optimal Binary Search Tree (区间dp)
- uva 10304 Optimal Binary Search Tree (区间DP)
- uva 10304 - Optimal Binary Search Tree(区间dp)
- Optimal Binary Search Tree+区间dp+uva
- uva 10304 Optimal Binary Search Tree(区间dp)
- UVa 10304 Optimal Binary Search Tree / 区间DP
- UVA - 10304 Optimal Binary Search Tree 区间DP
- uva 10304 Optimal Binary Search Tree(DP)
- uva 10304 Optimal Binary Search Tree(dp)
- uva 10304 Optimal Binary Search Tree 最优二叉树编码 区间dp
- 区间dp(uva10304-Optimal Binary Search Tree)
- 小白dp uva 10304 - Optimal Binary Search Tree
- uva 10304 Optimal Binary Search Tree
- UVA 10304 Optimal Binary Search Tree
- uva 10304 - Optimal Binary Search Tree
- UVa 10304 - Optimal Binary Search Tree
- Sixth Grade Math(0109)
- php实现页面静态化的起步
- DM8168心得之从sd卡烧写到nand
- POJ 3723 Conscription
- 关于Ubuntu中gcc g++升级问题
- uva 10304 Optimal Binary Search Tree (区间DP)
- Java-Servlet之过滤器Filter
- hdu题目分类
- Jump Game--LeetCode
- dpkg的info问题
- P67 2
- 超棒的Web和移动应用开发框架(一)
- unix-mmap()
- 关于mysql存储过程(表数据同步批量新增,批量修改)