zoj 2551 || poj 2653 Pick-up sticks

211 篇文章 0 订阅
134 篇文章 1 订阅
按顺序扔出来一些棍子,求最后那些棍子在上面。
按照顺序,如果后面的线段和前面的线段相交了,那前面线段肯定不可能在最上面。
开始TLE死了。。。><。。。查了半天错,还优化了,最后发现是数组少加了个0><。。我了个去啊。。
改过后,优化的方法A掉了。看DISCUSS,有人说,从前往后找,比较省时间,我改了改,居然也A掉了><。。。就是 如果前面那棍子与后面棍子一交叉,就break了。
注意,端点相连 不算交叉情况><。。
我的优化是队列哈,如果没被覆盖掉,就入队,然后下一个棍子判断它和队列里的是否交叉,如果不交叉,入队,这点需要小判断一下,如果和它判断的点已经出队完毕,下面就不能再判了,要不就无限出队入队了。。
队列版
小内存版。。。
普通版。。。求的顺序变了下,所以木有TLE
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值