pku2451 半平面交

 

 

自己写了好久yy不出半平面交。。nlogn版本

思想是很简单。。只是一开始写有点难。。

参考了一些网络上的,发觉很多都有些bug

最后参考了tclsm神牛的。修改了一下。。yy出这个200行内的代码。。

这个方法不是按照论文上上下凸包做法。。而是极角排序。。然后扫一圈。。

角度是按照向着该半平面准线的向量算,左方的区域。。。然后依次加边和删边。。算队尾两半平面的交点。若在该新加入半平面外则踢出队尾半平面

 

当新加的半平面极角在pi到2*pi之间。也必须考虑剔出队头的半平面,如下种情况。。

倘若已经围成一个区域。则也要依据情况剔出队头的半平面

。。

 

 

 

不知道是不是p写这的是不是都这么长- -

看c++的短多了

求更精简版p的半平面交nlogn代码。。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值