当前位置: 首页 > news >正文

【BZOJ 1007】【HNOI 2008】水平可见直线 【计算几何】

题目跳转: http://www.lydsy.com/JudgeOnline/problem.php?id=1007

Description

  在xoy直角坐标平面上有n条直线L1,L2,…Ln,若在y值为正无穷大处往下看,能见到Li的某个子线段,则称Li为
可见的,否则Li为被覆盖的.
例如,对于直线:
L1:y=x; L2:y=-x; L3:y=0
则L1和L2是可见的,L3是被覆盖的.
给出n条直线,表示成y=Ax+B的形式(|A|,|B|<=500000),且n条直线两两不重合.求出所有可见的直线.

Input

  第一行为N(0 < N < 50000),接下来的N行输入Ai,Bi

Output

  从小到大输出可见直线的编号,两两中间用空格隔开,最后一个数字后面也必须有个空格

Sample Input

3

-1 0

1 0

0 0

Sample Output

1 2


题解

解法一: 单调栈[1]

我们考虑先把Line按照双关键字排序。(没找到图,请自己画)
第一关键字肯定是斜率,第二关键字是截距。
我们考虑将斜率升序(降序也可以),然后截距降序。(显然,斜率相同的截距低的一定不用考虑。)

相关文章:

  • 【BZOJ 1055】【HAOI 2008】玩具取名 【区间DP】
  • 【BZOJ 1068】【SCOI 2007】压缩 【区间DP】
  • 【BZOJ 1090】【SCOI 2003】字符串折叠 【区间DP】
  • 【BZOJ 1196】【HNOI 2006】公路修建问题 【二分+并查集】
  • 【BZOJ 1026】【SCOI 2009】windy数 【数位DP】
  • linux下与windows下的换行符
  • 【BZOJ 1041】【HAOI 2008】圆上的整点 【数学】
  • 【BZOJ 2330】 [SCOI2011]糖果【差分约束】
  • 【BZOJ 1087】【SCOI 2005】互不侵犯King 【状压DP】
  • 【codevs 3116】高精度练习之加法
  • 【codevs 3155】高精度练习之减法
  • 【codevs 3117】高精度练习之乘法
  • 反正切函数的应用
  • Python 字符串操作方法大全
  • [IDF]被改错的密码
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • Docker入门(二) - Dockerfile
  • ES6简单总结(搭配简单的讲解和小案例)
  • Golang-长连接-状态推送
  • Java比较器对数组,集合排序
  • js
  • Rancher如何对接Ceph-RBD块存储
  • webpack+react项目初体验——记录我的webpack环境配置
  • 百度地图API标注+时间轴组件
  • 测试如何在敏捷团队中工作?
  • 搭建gitbook 和 访问权限认证
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 欢迎参加第二届中国游戏开发者大会
  • 机器学习学习笔记一
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 利用DataURL技术在网页上显示图片
  • 设计模式走一遍---观察者模式
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 试着探索高并发下的系统架构面貌
  • Java总结 - String - 这篇请使劲喷我
  • 第二十章:异步和文件I/O.(二十三)
  • 数据可视化之下发图实践
  • 我们雇佣了一只大猴子...
  • # C++之functional库用法整理
  • #图像处理
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (1)虚拟机的安装与使用,linux系统安装
  • (12)目标检测_SSD基于pytorch搭建代码
  • (2020)Java后端开发----(面试题和笔试题)
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (分享)自己整理的一些简单awk实用语句
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)shell调试方法
  • .NET Core 版本不支持的问题
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .Net MVC4 上传大文件,并保存表单