uva548 - Tree 入门经典II 第六章数据结构基础 例题6-8
来源:互联网 发布:苹果cms定时采集插件 编辑:程序博客网 时间:2024/05/20 19:29
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=489
已知中序遍历、后序遍历,找一个叶子使它到根的路径上权和最小,输出这个叶子。
#include<stdio.h>#include<iostream>#include<string>#include<sstream>using namespace std;const int maxn = 10000 + 10;int n;int in_order[maxn],post_order[maxn],lch[maxn],rch[maxn];bool read_list(int *a){ string line; if(!getline(cin,line)) return false; stringstream ss(line); int x; n=0; while(ss >> x) a[n++]=x; return true;}int build(int L1,int R1,int L2,int R2){ if(L1>R1) return 0; int root = post_order[R2]; int p = L1; while(in_order[p]!=root) p++; int cnt=p-L1; lch[root] = build(L1, p-1,L2 ,L2+cnt-1); rch[root] = build(p+1,R1 ,L2+cnt,R2-1); return root;}int best,best_sum;void dfs(int u,int sum){ sum+=u; if(!lch[u] && !rch[u]){ if(sum<best_sum || (sum==best_sum && u<best )){ best=u; best_sum=sum; } } if(lch[u]) dfs(lch[u],sum); if(rch[u]) dfs(rch[u],sum);}int main(){ while(read_list(in_order)){ read_list(post_order); build(0,n-1,0,n-1); best_sum=2147483647; dfs(post_order[n-1],0); cout << best << endl; } return 0;}
0 0
- uva548 - Tree 入门经典II 第六章数据结构基础 例题6-8
- uva679Dropping Balls 入门经典II 第六章数据结构基础 例题6-6
- uva839 - Not so Mobile 入门经典II 第六章数据结构基础 例题6-9
- uva572 - Oil Deposits 入门经典II 第六章数据结构基础 例题6-12
- uva699The Falling Leaves 入门经典II 第六章数据结构基础 例题6-10
- uva10562 - Undraw the Trees 入门经典II 第六章数据结构基础 例题6-17
- uva297 - Quadtrees 入门经典II 第六章 数据结构基础 例题6-11
- uva12657 - Boxes in a Line 入门经典II 第六章数据结构基础 例题6-5
- uva 536 - Tree Recovery 入门经典II 第六章 数据结构基础 习题6-3
- uva11988 - Broken Keyboard (a.k.a. Beiju Text) 入门经典II 第六章数据结构基础 例题6-4
- 算法竞赛入门经典(第二版)-刘汝佳-第六章 数据结构基础 例题(17/22)
- 例题6-8 UVa548 Tree(树的遍历转换)
- Uva548 Tree 【递归建树+dfs遍历树】【例题6-8】
- 例题6-8 树 UVa548
- 算法竞赛入门经典 第六章 数据结构基础
- 算法竞赛入门经典:第六章 数据结构基础 6.2铁轨
- 算法竞赛入门经典:第六章 数据结构基础 6.4测试
- 算法竞赛入门经典:第六章 数据结构基础 6.11迷宫
- 生活中的数学问题(四)
- PHP中函数变量传递
- 找数字
- ZOJ 3602 Count the Trees
- 生活中的数学问题(五)
- uva548 - Tree 入门经典II 第六章数据结构基础 例题6-8
- 操作格子(线段树)
- 生活中的数学问题(六)
- DWR笔记
- 生活中的数学问题(七)
- Jaxb2 实现JavaBean与xml互转
- 《MonkeyRunner原理剖析》第九章-MonkeyImage实现原理 - 第一节 - 关键类作用及关系
- C,C++宏中#与##的讲解
- 生活中的数学问题(数学家的难题)