题意:

给出一棵树的描述,这棵树构造出来,满足从右到左数值递增,根在最下面,然后有一些询问x,我们要输出从根走到x的路径,w:向左、e:向右。

思路:

建树的时候,首先第一个点一定是根,然后比根小的建在根的右边,反之建在左边,就可以了。

代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <map>
using namespace std;const int maxn = 1005 * 2 + 10;
int a[maxn];
int aa[maxn];int le[maxn], ri[maxn];
int fa[maxn];
int ha[maxn];int main() {int t, n;scanf("%d",&t);while(t--) {scanf("%d",&n);memset(aa, 0, sizeof(aa));for(int i = 1; i <= n; i++) {scanf("%d",&a[i]);}for(int i = 1; i <= n; i++) {fa[i] = i;}int tot = 1;aa[tot++] = a[1];memset(le, 0, sizeof(le));memset(ri, 0, sizeof(ri));memset(ha, 0, sizeof(ha));for(int i = 2; i <= n; i++) {int rt = 1;while(1) {if(a[i] > aa[rt]) {if(le[rt] == 0) {le[rt] = tot++;aa[le[rt]] = a[i];fa[le[rt]] = rt;ha[le[rt]] = 1;break;} else {rt = le[rt];}} else {if(ri[rt] == 0) {ri[rt] = tot++;aa[ri[rt]] = a[i];fa[ri[rt]] = rt;break;} else {rt = ri[rt];}}}}int m;int x;scanf("%d",&m);while(m--) {scanf("%d",&x);int hh = 1;int x_1 = n * 2 + 10;for(int i = 1; i <= x_1; i++) {if(aa[i] == x) {hh = i;}}string s = "";while(hh != 1) {if(ha[hh] == 0) {s += 'E';} else {s += 'W';}hh = fa[hh];}int l = s.length();if(l == 0) {puts("");continue;}for(int i = l - 1; i >= 0; i--) {printf("%c",s[i]);} puts("");}}
}

hdu5444(2015长春网络赛H题)相关推荐

  1. hdu5442(2015长春网络赛F题)

    题意: 给出一个字符串,只由'a'~'z'组成,字符串是一个首尾相接的串.我们要找到一个起点,顺时针或者逆时针的读这个串,找到字典序最大的读法,如果有多种,输出起点坐标小的那个,如果起点坐标一样,输出 ...

  2. hdu5491(2015合肥网络赛H题)

    题意: 给出三个数字D.s1和s2,用L来表示D的二进制表示中1的个数,L在区间[s1,s2]中,我们要找到离D最近的并且大于D的一个数字,且这个数字的L也落在区间[s1,s2]中. 思路: 一直超时 ...

  3. hihoCoder1233(2015北京网络赛H题)

    转载自:http://blog.csdn.net/queuelovestack/article/details/48625899 题意: 有n个卡槽,放有体积不同的n个空盒子,每次你可以移动一个空盒子 ...

  4. hdu5446(2015长春网络赛J题)

    题意: 求C(n,m)%(p1*p2*......pk),其中,p1*p2*......pk都是素数. 思路: 不会...数论是渣,赛后知道是Lucas定理+中国剩余定理. 代码: #include& ...

  5. hdu5441(2015长春网络赛E题)

    题意: 给出一个n个点.m条边的无向图,边上有权值,有q组询问,每组询问给出一个数字x,我们要在图中找出'点对'的个数,这些'点对'(例如a,b)满足从a到b有一条路径经过的每一条边都要小于x,输出每 ...

  6. hdu5443(2015长春网络赛G题)

    题意: 一个数列,求从L到R的最大值. 思路: 不多说... 代码: #include<cstdio> #include<cstring>int a[20000];int ma ...

  7. hdu5438(2015长春网络赛B题)

    题意: 有n个池塘.m个管道,每个池塘有权值,m个管道用来连接池塘(无向边),我们要把度小于2的池塘删除,统计每个包含池塘数是奇数的连通分量的权值并输出. 思路: 拓扑排序之后,删点,然后dfs一遍就 ...

  8. hdu5437(2015长春网络赛A题)

    题意: 有一个party,会有n个人来,每个人都带着礼物来,礼物有权值,由于屋子的大小有限,所以他会选择k个时间来开门,在t时间让p个人进来,接下来有q组询问,每组询问有一个数字ni,让你输出第ni个 ...

  9. 2015北京网络赛 G题 Boxes bfs

    Boxes Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://hihocoder.com/contest/acmicpc2015beijingonl ...

最新文章

  1. postman登录鉴权之接口测试
  2. swift基础学习(八)
  3. 西安圈子聚会心得分享
  4. 三段式状态机_Verilog实战篇(5)——FIFO amp; 状态机
  5. 删除进程id_Mysql新增删除数据失败,提示锁表
  6. XP建立隐藏的超级用户
  7. 【转载】启发式搜索技术A*【译】
  8. 抗压力就是一切!!!
  9. McAfee Epo
  10. MPU6050陀螺仪
  11. 阿里飞天八部之女娲与夸父简介
  12. 房地产开发建设项目管理(全程房地产典范企业案例)
  13. 开源的驰骋工作流程引擎,工作流程管理系统,表结构与运行机制。
  14. new new Foo().getName()面试题解析
  15. JS实现倒计时动画效果
  16. 小米设备跨版本降级后相机打不开陀螺仪无法工作解决办法
  17. 计算机文化基础知识在未来工作中的应用论文,计算机文化基础论文
  18. Diagrams(draw.io)-怎样实现跨线
  19. 还不懂这八大算法思想,刷再多题也白搭!
  20. MySQL 主从架构在线热迁移MGR 方案

热门文章

  1. ustc小道消息20220122
  2. VTK修炼之道49:图形基本操作进阶_网格平滑(点云的曲面重建技术)
  3. TeeChart用法(网络收集)默认分类 2010-03-05 21:46:05 阅读788 评论0 字号:大中小 .
  4. 存储器的保护(一)——《x86汇编语言:从实模式到保护模式》读书笔记18
  5. 【svn老玩家翻车了,git玩的不够6】git恢复本地误删的文件
  6. 【快乐水题】506. 相对名次
  7. SpringBoot对于标注@ResponseBody注解返回JSON数据的处理
  8. 【整理】BIOS、BootLoader、uboot对比
  9. hdu2065(指数型母函数+快速幂)
  10. dijkstra+堆优化