BZOJ 1007 [HNOI2008] 水平可见直线
来源:互联网 发布:网络色情图片和小说 编辑:程序博客网 时间:2024/05/06 00:25
这题。。。精度问题+排序问题调了很久。只有一句mmp
#include <cstdio>#include <iostream>#include <cstdlib>#include <algorithm>#include <cmath>#include <cstring>using namespace std ;const double eps=1e-8;int n;typedef struct NODE{ double k,b; int id; bool operator <(const NODE & b)const{ if(this->k!=b.k) return this->k < b.k; return this->b > b.b; }}N;N a[50010],s[50010];bool ans[50010];int top;void init (){ cin >>n; int i; for (i=1;i<=n;i++){ scanf ("%lf %lf",&a[i].k,&a[i].b); a[i].id=i; }}double xcross (N a,N b){ return (b.b-a.b)/(a.k-b.k);}int main (){ init (); int i; sort (a+1,a+1+n); memset (ans,false,sizeof(ans)); s[++top]=a[1]; for(i=2;i<=n;i++){ if(a[i].k-a[i-1].k<eps) continue; while(top>1&&xcross(a[i],s[top])<=xcross(s[top],s[top-1]) ) top--; s[++top]=a[i]; } for (i=1;i<=top;i++){ ans[s[i].id]=true; } for (i=1;i<=n;i++){ if (ans[i]) printf ("%d ",i); } return 0;}
0 0
- bzoj 1007 [HNOI2008] 水平可见直线 题解
- [BZOJ 1007][HNOI2008]水平可见直线
- BZOJ 1007: [HNOI2008]水平可见直线 几何
- [BZOJ 1007] [HNOI2008]水平可见直线
- BZOJ 1007 [HNOI2008]水平可见直线
- BZOJ 1007 [HNOI2008]水平可见直线
- BZOJ 1007: [HNOI2008]水平可见直线
- 【BZOJ 1007】 [HNOI2008]水平可见直线
- [BZOJ 1007][HNOI2008]水平可见直线
- BZOJ 1007 [HNOI2008] 水平可见直线
- BZOJ 1007 [HNOI2008] 水平可见直线
- bzoj 1007 [HNOI2008]水平可见直线
- bzoj 1007: [HNOI2008]水平可见直线
- BZOJ 1007: [HNOI2008]水平可见直线 题解
- BZOJ 1007: [HNOI2008]水平可见直线
- bzoj 1007: [HNOI2008]水平可见直线
- BZOJ 1007 [HNOI2008]水平可见直线
- bzoj。 1007: [HNOI2008]水平可见直线
- DOM0 DOM2 DOM3区别
- filter:alpha
- Java测试框架比较:TestNG VS JUnit 4
- HTML5基础加强css样式篇(IE浏览器版本区别 条件表达式)(三十八)
- 以正确的姿势实现一棵JavaScript菜单树
- BZOJ 1007 [HNOI2008] 水平可见直线
- 用虚拟机KVM安装ubuntu server不能选择中文安装,否则肯定安装失败
- C语言宏定义中UL的含义
- MarkDown语法
- 解决传到前端JSP页面的时间字段多个.0
- vue笔记--------slot
- 各种常用排序的时间复杂度和稳定性以及代码实现
- JPA-3 核心API
- docker-nvidia 安装问题