HDU 5444

题意:给你一棵树的先序遍历,中序遍历默认是1...n,然后q个查询,问根节点到该点的路径(题意挺难懂,还是我太傻逼)

思路:这他妈又是个大水题,可是我还是太傻逼。1000个点的树,居然用标准二叉树结构来存点,,,卧槽想些什么东西。可以用一维数组,left,right直接指向位置就行了,我这里用的是链表。对于读入的序列,生成一个二叉排序树,同时记录一下路径就可以了,后面居然忘了清空path又wa了一发。

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. #include<cmath>
  5. #include<algorithm>
  6. #include<queue>
  7. #include<vector>
  8. #include<set>
  9. #include<string>
  10. #define inf 0x3f3f3f3f
  11. #define LL long long
  12. #define MAXN 2005
  13. #define IN freopen("in.txt","r",stdin);
  14. using namespace std;
  15.  
  16. struct Node{
  17. int x;
  18. Node *left, *right;
  19. Node(int x = ) :x(x){
  20. left = NULL;
  21. right = NULL;
  22. };
  23. };
  24.  
  25. vector<char> path[MAXN];
  26.  
  27. Node *root;
  28. void bst_insert(int x){
  29. //Node *t = root;
  30. //return;
  31. Node *t = root;
  32. //Node *s = &Node(x);
  33. while (t != NULL){
  34. if (x > t->x){
  35. path[x].push_back('W');
  36. if (t->right == NULL){
  37. t->right = new Node(x);
  38. break;
  39. }
  40. else{
  41. t = t->right;
  42. }
  43. }
  44. else{
  45. path[x].push_back('E');
  46. if (t->left == NULL){
  47. t->left = new Node(x);
  48. break;
  49. }
  50. else{
  51. t = t->left;
  52. }
  53. }
  54. }
  55. }
  56.  
  57. int main(){
  58. //IN;
  59. //freopen("out.txt", "w", stdout);
  60. int t, n;
  61. scanf("%d", &t);
  62. while (t--){
  63. scanf("%d", &n);
  64. int x;
  65. scanf("%d", &x);
  66. root = new Node(x);
  67. for (int i = ; i <= n; i++){
  68. path[i].clear();
  69. }
  70. for (int i = ; i <= n; i++) {
  71. scanf("%d", &x);
  72. bst_insert(x);
  73. }
  74. // find(1, n, 1);
  75. int q;
  76. scanf("%d", &q);
  77. //bfs();
  78. while (q--){
  79. scanf("%d", &x);
  80. for (int i = ; i < path[x].size(); i++){
  81. printf("%c", path[x][i]);
  82. }
  83. printf("\n");
  84. }
  85. }
  86. return ;
  87. }

HDU 5444 Elven Postman 二叉排序树的更多相关文章

  1. hdu 5444 Elven Postman

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5444 Elven Postman Description Elves are very peculia ...

  2. hdu 5444 Elven Postman(长春网路赛——平衡二叉树遍历)

    题目链接:pid=5444http://">http://acm.hdu.edu.cn/showproblem.php?pid=5444 Elven Postman Time Limi ...

  3. 2015 ACM/ICPC Asia Regional Changchun Online HDU 5444 Elven Postman【二叉排序树的建树和遍历查找】

    Elven Postman Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)T ...

  4. Hdu 5444 Elven Postman dfs

    Elven Postman Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid= ...

  5. hdu 5444 Elven Postman 二叉树

    Time Limit: 1500/1000 MS (Java/Others)   Memory Limit: 131072/131072 K (Java/Others) Problem Descrip ...

  6. hdu 5444 Elven Postman(二叉树)——2015 ACM/ICPC Asia Regional Changchun Online

    Problem Description Elves are very peculiar creatures. As we all know, they can live for a very long ...

  7. HDU 5444 Elven Postman (2015 ACM/ICPC Asia Regional Changchun Online)

    Elven Postman Elves are very peculiar creatures. As we all know, they can live for a very long time ...

  8. hdu 5444 Elven Postman(根据先序遍历和中序遍历求后序遍历)2015 ACM/ICPC Asia Regional Changchun Online

    很坑的一道题,读了半天才读懂题,手忙脚乱的写完(套上模板+修改模板),然后RE到死…… 题意: 题面上告诉了我们这是一棵二叉树,然后告诉了我们它的先序遍历,然后,没了……没了! 反复读题,终于在偶然间 ...

  9. HDU 5444 Elven Postman (二叉树,暴力搜索)

    题意:给出一颗二叉树的先序遍历,默认的中序遍历是1..2.……n.给出q个询问,询问从根节点出发到某个点的路径. 析:本来以为是要建树的,一想,原来不用,其实它给的数是按顺序给的,只要搜结点就行,从根 ...

随机推荐

  1. Linux常用软件tree,autojump,lrzsz安装

    tree安装 1.获取压缩文件 wget http://mama.indstate.edu/users/ice/tree/src/tree-1.7.0.tgz 2.解压缩 tar -zxvf tree ...

  2. ip iproute2的典型应用

    net-tools和iproute2的命令做对比,做到简单明了,分别演示如何去获取.配置和操作系统网络信息. 以下是net-tools和iproute2的大致对比: 4.1 ip link set-- ...

  3. 洛谷 P1403 [AHOI2005]约数研究

    怎么会有这么水的省选题 一定是个签到题. 好歹它也是个省选题,独立做出要纪念一下 很容易发现在1~n中,i的因子数是n / i 那就枚举每一个i然后加起来就OK了 #include<cstdio ...

  4. 中国象棋程序的设计与实现(六)--N皇后问题的算法设计与实现(源码+注释+截图)

    八皇后问题,是一个古老而著名的问题,是回溯算法的典型例题. 该问题是十九世纪著名的数学家高斯1850年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行.同一列 ...

  5. 【Henu ACM Round#24 A】k-String

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 如果是一个k-string的话. 考虑最后的串假设形式为sss..ss(k个s) 则s中出现的字母,整个串中最后出现的次数肯定为k的 ...

  6. 【codeforces 816C】Karen and Game

    [题目链接]:http://codeforces.com/contest/816/problem/C [题意] 给你一个n*m的矩阵; 一开始所有数字都是0; 每次操作,你能把某一行,或某一列的数字全 ...

  7. [Angular] Configure an Angular App at Runtime

    It always again happens (especially in real world scenarios) that you need to configure your Angular ...

  8. Springmvc JSON交互

    先上前端javascript.ajax代码 <pre name="code" class="javascript"> function testAj ...

  9. Android学习笔记(9):使用XML文件和Java代码控制UI界面

    Android推荐使用XML文件设置UI界面.然后用Java代码控制逻辑部分,这体现了MVC思想. MVC全名是Model View Controller.是模型(model)-视图(view)-控制 ...

  10. 自己封装js组件 - 初级

    2天前抱着试试看的态度注册了此神博,心血来潮呕心沥血写了一篇关于vue 自定义组件的小文章 尼玛果然一个评论的没有!果然毫无人气!(当然了我这文章内容有限和大神们的比起来简直是粗制滥造...)索性我就 ...