博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ 1007: [HNOI2008]水平可见直线
阅读量:5080 次
发布时间:2019-06-12

本文共 1045 字,大约阅读时间需要 3 分钟。

二次联通门 : 

 

 

 

 

/*    BZOJ 1007: [HNOI2008]水平可见直线        SB半平面交*/#include 
#include
#include
typedef double flo;#define Max 50004#define rg registerstruct L{ flo k, b; int id; bool operator < (const L &A) const { return k == A.k ? b > A.b : k < A.k; } flo operator & (const L &A) const { return (A.b - b) / (k - A.k); }} l[Max]; int s[Max], t;bool Comp (const int &a, const int &b){ return l[a].id < l[b].id;}int main (int argc, char *argv[]){ int N, M; rg int i, j; scanf ("%d", &N); for (i = 1; i <= N; ++ i) scanf ("%lf%lf", &l[i].k, &l[i].b), l[i].id = i; std :: sort (l + 1, l + 1 + N); s[++ t] = 1; for (i = 2; i <= N; ++ i) { if (l[i].k == l[i - 1].k) continue; for (; t > 1 && (l[i] & l[s[t - 1]]) <= (l[s[t - 1]] & l[s[t]]); -- t); s[++ t] = i; } std :: sort (s + 1, s + 1 + t, Comp); for (i = 1; i <= t; ++ i) printf ("%d ", l[s[i]].id); return 0;}

 

转载于:https://www.cnblogs.com/ZlycerQan/p/7549908.html

你可能感兴趣的文章
【input】 失去焦点时 显示默认值 focus blur ★★★★★
查看>>
Java跟Javac,package与import
查看>>
day-12 python实现简单线性回归和多元线性回归算法
查看>>
Json格式的字符串转换为正常显示的日期格式
查看>>
[转]使用 Razor 进行递归操作
查看>>
[转]Android xxx is not translated in yyy, zzz 的解决方法
查看>>
docker入门
查看>>
Android系统--输入系统(十一)Reader线程_简单处理
查看>>
监督学习模型分类 生成模型vs判别模型 概率模型vs非概率模型 参数模型vs非参数模型...
查看>>
Mobiscroll脚本破解,去除Trial和注册时间限制【转】
查看>>
实验五 Java网络编程及安全
查看>>
32位与64位 兼容编程
查看>>
iframe父子页面通信
查看>>
ambari 大数据安装利器
查看>>
java 上传图片压缩图片
查看>>
magento 自定义订单前缀或订单起始编号
查看>>
ACM_拼接数字
查看>>
计算机基础作业1
查看>>
Ubuntu 深度炼丹环境配置
查看>>
C#中集合ArrayList与Hashtable的使用
查看>>