题意:对于一个堆,找出从根节点出发到某一个点的行走的路径

输入:第一行数据组数T,每一组第1行元素个数n,第2行各个元素,第3行询问个数,第4行询问元素。

输出:每一询问元素打印出由"E","W”组成的字符串,若所查询节点就是根节点,则输出一个空行

For instance, the sequence 2, 1, 4, 3 would be written on the root of the following tree.

Sample Input
2
4
2 1 4 3
3
1 2 3
6
6 5 4 3 2 1
1
1

Sample Output
E
WE
EEEEE
就是一道暴力模拟堆的题目,需要注意的是处理每组数据都要重置树的各个节点,还有插入时的一些细节。
这里我用的是数组进行模拟,下面就是代码。
#include <iostream>
#include <cstdio>using namespace std;
const int MAXN=1010;
struct pt
{int l,r;pt(int l=-1,int r=-1):l(l),r(r){}}p[MAXN];int qr[MAXN];
int rt;
void ph(int k)
{int t=rt;while(t!=-1){if(p[t].l==-1&&t>k){p[t].l=k;break;}if(p[t].r==-1&&t<k){p[t].r=k;break;}t = k<t? p[t].l:p[t].r;}
}void find(int k)
{int t=rt;while(k!=t){if(k>t)    printf("W"),t=p[t].r;else if(k<t) printf("E"),t=p[t].l;}printf("\n");
}int main()
{int t,q;cin>>t;while(t--){for(int i=1;i<MAXN;++i)  //重置节点p[i].l=p[i].r=-1;int n,k;cin>>n;for(int i=1;i<=n;++i){scanf("%d",&k);if(i==1)    rt=k;ph(k);}cin>>q;for(int i=1;i<=q;++i)scanf("%d",&qr[i]);for(int i=1;i<=q;++i)find(qr[i]);}return 0;
}

转载于:https://www.cnblogs.com/JNzH/p/11247154.html

[HDU] 5444.Elven Postman (堆)相关推荐

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

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

  2. HDU 6136 Death Podracing (堆)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=6136 题解 完了,普及题都不会做了... 发现一个重要性质是只有相邻的人才会相撞,于是直接拿堆维护即可 ...

  3. HDU - 2176 取(m堆)石子游戏(尼姆博奕)

    题目链接:点击查看 题目大意:给出m堆石子,规则是尼姆博弈的规则,问先手必胜还是必败,若能必胜则第一次有多少种方式取石子 题目分析:这个题目是因为一开始知道尼姆博弈的结论,需要异或所有石子来判断的,然 ...

  4. A - Age of Moyu HDU - 6386(Dijkstra+堆优化)

    要解决这道题,可以用dfs+bfs,但是我不会,所以我只会dijkstra算法: 要解决这道题必须明白迪杰斯特拉算法的核心思想,我是这样理解的: 我可以任意举例一个图: 比如这个图,那么求1-6的最短 ...

  5. 【ACM】二叉搜索树(Binary Search Tree /BS Tree) 小结

    动态管理集合的数据结构--二叉搜索树 搜索树是一种可以进行插入,搜索,删除等操作的数据结构,可以用字典或者优先队列. 二叉排序树又称为二叉查找树,他或者为空树,或者是满足如下性质的二叉树. (1)若它 ...

  6. html5ul消除圆点,overflow清楚浮动 + 去掉li标签的小圆点

    原文链接:http://blog.163.com/qqabc20082006@126/blog/static/22928525201031211212955/ 测试用例: 无标题文档 #wrapper ...

  7. ACM 博弈专题(5种模板)

    最近算法课在学博弈论的知识,顺手把算法题中的涉及到博弈论一并总结了 这篇文章的有些内容是参考了大佬的 可能有遗漏.... (一)巴什博弈(BAsh Game) 题目模板 只有一堆n个物品 两个人轮流取 ...

  8. 2015 ACM/ICPC Asia Regional Changchun Online题解

    以下所有AC题解程序来自"仙客传奇"团队. AC题数:7/13 ABEGHJL A. Alisha's Party AC的C++语言程序: #pragma warning(disa ...

  9. 2012网赛杭州赛区

    1002 arrest 有k个警察在0点按顺序遍历1到n去抓小偷, 这样构图时就要对编号小的连向编号大的, 之前要floyd处理. 我赛后的构图:对每个点的遍历有个限制是必须是1次, 由于是费用流, ...

最新文章

  1. 杭电 1181 变形课
  2. Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法
  3. 使用dtd--属性声明
  4. Java在线问题诊断工具Greys
  5. 不含抽象方法的抽象类 java_Java:抽象类继承非抽象类,且不包含抽象方法有何负面作用吗?...
  6. 扒取的国外的后台管理系统的界面
  7. SRM 588 D2 L2:GUMIAndSongsDiv2,冷静思考,好的算法简洁明了
  8. html中隐式转换成数字,关于 JS 类型隐式转换的完整总结
  9. 百度App网络深度优化系列(一):DNS优化
  10. 1v1项目实战+真实经验倾囊相授,0基础的我是如何逆袭成功?
  11. linux tuxedo查看服务进程数,tuxedo常用命令
  12. Android简单实现高德地图显示及定位
  13. CSS border设置虚线可调节虚线间距
  14. Opencv-cvtColor
  15. matlab怎样批量裁剪图片大小,wps 批量调整图片大小 宏
  16. 服务器装系统不识别硬盘分区,u盘装系统时找不到硬盘分区解决方法
  17. efcore微软官方文档
  18. 设为首页 加入收藏 html,js设为首页和加入收藏代码(兼容所有浏览器)
  19. 风控每日一问:风控工作的价值在于?
  20. 微生物组学大数据:如何挖掘与利用?

热门文章

  1. Spring的jdbcTemplate 与原始jdbc 整合c3p0的DBUtils 及Hibernate 对比 Spring配置文件生成约束的菜单方法...
  2. Windows下MySQL下载安装、配置与使用
  3. Leetcode: Top K Frequent Elements
  4. Fvwm-背景图片设置三法
  5. 业务工作流平台设计(七)
  6. C#字典Dictionary排序(顺序、倒序)
  7. Exchange 2016异地容灾系列-Exchange部署(五)
  8. 发现一篇超详细的ELK搭建
  9. mongodb 3.4单实例安装与备
  10. click和blur 冲突???