• bzoj1007


    维护一个凸壳。。。。。运算符重载搞错了。。。。

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<cmath>
     4 #include<ctime>
     5 #include<cstdlib>
     6 #include<iostream>
     7 #include<algorithm>
     8 #define rep(i,l,r) for(int i=l;i<(r);i++)
     9 #define clr(a,x) memset(a,x,sizeof(a))
    10 using namespace std;
    11 typedef long long ll;
    12 const int maxn=50009;
    13 struct line{
    14     int p;
    15     double a,b;
    16     inline bool operator<(const line&A)const{
    17         return a<A.a||(a==A.a&&b>A.b);
    18     }
    19 };
    20 int n,top=0,S[maxn];
    21 line x[maxn];
    22 bool p[maxn];
    23 double cross(int a,int b){
    24     return (x[b].b-x[a].b)/(x[a].a-x[b].a);
    25 }
    26 int main(){
    27     scanf("%d",&n);
    28     rep(i,1,n+1) scanf("%lf%lf",&x[i].a,&x[i].b),x[i].p=i;
    29     sort(x+1,x+n+1);
    30     rep(i,1,n+1){
    31         if(i>1&&x[i].a==x[i-1].a) continue;
    32         while(top>1&&cross(S[top-1],S[top])>=cross(S[top],i)) S[top--]=0;
    33         S[++top]=i;
    34     }
    35     rep(i,1,top+1) p[x[S[i]].p]=1;
    36     rep(i,1,n+1) if(p[i]) printf("%d ",i);putchar('
    ');
    37     return 0;
    38 }
    View Code

    1007: [HNOI2008]水平可见直线

    Time Limit: 1 Sec  Memory Limit: 162 MB
    Submit: 4623  Solved: 1708
    [Submit][Status][Discuss]

    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

    HINT

     

    Source

     
    [Submit][Status][Discuss]
  • 相关阅读:
    Win下循环进入目录启动执行某任务
    Mysql数据库搭建-Windows
    Linux的服务器初始优化脚本。
    Linux下Find命令的使用
    一些判断Linux是否被黑的经验
    搭建docker私有仓库
    进程退出:SIGINT、SIGTERM和SIGKILL区别
    dockerfile使用
    k8s-ingress安装
    k8s-service
  • 原文地址:https://www.cnblogs.com/chensiang/p/4816318.html
Copyright © 2020-2023  润新知