解题关键:数据结构课本上的裸题。

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std;
struct mm{int l,r;}tr[];
int arr[];
int brr[];
queue<int>que;
int build(int la,int ra,int lb,int rb){
if(la>ra) return ;
int root=brr[lb];
int p=la;
while(arr[p]!=root) p++;
int cnt=p-la;
tr[root].l=build(la,p-,lb+,lb+cnt);
tr[root].r=build(p+,ra,lb+cnt+,rb);
return root;
}
void revers(int root){
if(root){
swap(tr[root].l,tr[root].r);
revers(tr[root].l);
revers(tr[root].r);
}
}
int flag;
void bfs(){
int root=brr[];
que.push(root);
while(!que.empty()){
int t=que.front();
que.pop();
if(flag==){
printf(" %d",t);}
else{
printf("%d",t);flag=;
}
if(tr[t].l) que.push(tr[t].l);
if(tr[t].r) que.push(tr[t].r);
}
}
int main(){
int n;
scanf("%d",&n);
for(int i=;i<n;i++){
scanf("%d",arr+i);
}
for(int i=;i<n;i++){
scanf("%d",brr+i);
}
build(,n-,,n-);
revers(brr[]);
bfs();
}

最新文章

  1. Node+fs+定时器(node-schedule)+MySql
  2. aps.net cored 新概念
  3. Mifare系列7-安全性(转)
  4. android 混淆导致友盟反馈出错
  5. 使用WP8最新的AudioVideoCaptureDevice类制作录像应用
  6. August 9th 2016, Week 33rd Tuesday
  7. hdu 1754:I Hate It(线段树,入门题,RMQ问题)
  8. python coroutine测试
  9. 【测试】模拟一个全表扫描的sql,对其进行优化走索引,并且将执行计划稳定到baseLine。
  10. jira插件带ui界面和几种方式
  11. 51单片机C语言学习笔记3: 存储器结构
  12. android高仿微信UI点击头像显示大图片效果
  13. poj 3321
  14. 使用Cmder的几个问题
  15. linux下查看账号密码的过期时间和设置时间
  16. CSS3学习笔记-1:CSS样式继承
  17. selenium 断言与验证
  18. from提交表单后 数据提交到后台 但不跳转页面 可用iframe
  19. poj-1218 THE DRUNK JAILER 喝醉的狱卒
  20. [PHP] 工厂模式的日常使用

热门文章

  1. Highcharts中更新series的5种方法
  2. 条款42:了解typename的双重含义
  3. PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
  4. L120 单词造句
  5. git常用命令收藏
  6. WC2019 滚粗记
  7. C#进阶之路(三):深拷贝和浅拷贝
  8. Codeforces 808D. Array Division
  9. Unity3D研究院之Assetbundle的实战(六十三)
  10. CodeSmith 基本语法(二)