break VS 平衡树

 

圆锥玩具

问题描述

xqz小朋友家中堆积了好多好多种玩具,其中一种便是圆锥玩具。他经常将这类玩具混乱的摆在地上,欣赏内在的排列美。

他先把圆锥垂直放在地面上。这些圆锥都有一个特点,就是它的半径等于高度,且内部是空心的,底面也是空的。xqz小朋友有时会将其中的一些小的圆锥玩具放到比它大的圆锥玩具里,如果一个圆锥玩具不被另外任意一个圆锥完全包裹着,xqz就会格外喜欢它(…)

你的任务便是帮助xqz小朋友找出所有他格外喜欢的玩具。(特别的,如果两个圆锥的底面相切,小的圆锥也算被包裹着)为了简化模型,我们将地面抽象成二维平面

输入文件

第一行一个正整数N,表示玩具个数。

接下来N行,每行3个实数,rixiyi,表示圆锥底面的半径和坐标。(其中hi=rihi表示圆锥的高度),第i行为第i个玩具。

输入数据仅保证任意两个圆锥的底面不相交且不重合,不保证不相切。

输出文件

第一行一个数M,表示xqz格外喜欢的玩具的个数。

第二行M个数,输出玩具的编号,从小到大输出,以空格隔开。

输入样例

5

1 0 -2

3 0 3

10 0 0

1 0 1.5

10 50 50

输出样例

2

3 5

数据规模和约定

       对于20%的数据,N≤ 500

       对于100%的数据,N ≤ 100000-109 rixiyi≤109ri为正数。

 

 

今天上午考了一道伪计算几何题,实际是平衡树维护区间,但高一一位神人刘政宁写了个暴力+端点排序+端点判断break

0.5s(只最大数据) VS 平衡树0.55s (全部的数据每个点) 难能可贵的是改了数据还是比标程快!!!!!!

 

 

我改进了一下,加了索引数组,省去了二次排序(最大点0.3s)

标程(平衡树):

 

 

陈文潇的blog:http://blog.csdn.net/chenwenxiaocom/archive/2011/05/20/6434738.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值