poj2201

原创 2012年03月22日 19:40:39

构建笛卡尔树

1. 分析数据递归构建树,花费时间较长。

2. 在空树基础上不断插入。

    建立node数组,0放a足够小的头,1~N放数据并按k有小到大排序。从1开始插入到只有空头的笛卡尔树中。由于k的有序,对第i个,它要么是i-1的右节点,要么是i-1的父节点的右节点。。。根据a值(最小堆)的特点找到合适的节点j,则i是j的右节点。j原先的右子树自然变成了i的左子树,再维护好parent指针就可以了。

    然后就是输出,我曾经是用按id排序再输出的,结果这样很慢,因为对struct移动效率很低,所以还是dfs并保存数据比较好。


poj 2201 笛卡尔树

题意:给定n个二元组(ai,bi),构造笛卡尔树。按a元素为二叉排序树,按b元素为小顶堆。 思路:用栈当然可以,此处用了rmq来做。另外需要注意笛卡尔树和treap的区别:Treap与笛卡尔树在结构...

poj2201 Cartesian Tree

笛卡尔树
  • sdfzyhx
  • sdfzyhx
  • 2016年12月29日 17:27
  • 105

POJ 2201(修正版)

在前一个代码中,由于在寻找一段区间的最大最小值,用朴素的搜索办法,故造成效率低下。后来,发现有个很好的RMQ的ST算法可以解决这个问题,果断使用之,结果AC,用时2454ms虽然花费时间更多,但证明了...

poj 2201 笛卡尔树

#include #include #include #include #include #include #include #include #include #include #include #...

poj2201Cartesian Tree(笛卡尔树)

Cartesian Tree Time Limit: 10000MS   Memory Limit: 65536K Total Submissions: 2950   Accepted: ...

POJ 2201 Cartesian Tree 笛卡尔树

Cartesian Tree Time Limit: 10000MS   Memory Limit: 65536K Total Submissions: 3393   Accepted: ...

杭电acm-2201熊猫阿波的故事

Problem Description 凡看过功夫熊猫这部电影的人都会对影片中那只憨憨的熊猫阿波留下相当深的印象,胖胖的熊猫阿波自从打败了凶狠强悍的雪豹泰龙以后,在和平谷的地位是越来越高,成为谷中第...

UIday2201:IOS开发中的多线程

IOS开发中的多线程

SSLOJ2201 树

Description Rayray现在在一棵有n个节点的树,现需要你按要求完成rayray给出的询问和修改操作。 询问操作,从当前点出发到目标点,rayray所需要的时间。执行完此操作后...
  • BPM136
  • BPM136
  • 2015年09月15日 21:52
  • 385

HDU2201 熊猫阿波的故事【概率】

熊猫阿波的故事 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Su...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:poj2201
举报原因:
原因补充:

(最多只允许输入30个字)