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

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

就是一个单纯的上凸壳

扫描法水过

#include
using namespace std;const int N=600000;const double eps=1e-16;struct Point{ double x,y; int id; Point(double _x=0.0,double _y=0.0):x(_x),y(_y){} friend Point operator + (Point A,Point B){return Point(A.x+B.x,A.y+B.y);} friend Point operator - (Point A,Point B){return Point(A.x-B.x,A.y-B.y);} friend Point operator * (Point A,double k){return Point(A.x*k,A.y*k);} friend Point operator / (Point A,double k){return Point(A.x/k,A.y/k);} friend bool operator < (Point A,Point B){if(fabs(A.x-B.x)
0)top--;// top++;// convex_hull[top]=p[now];//}void Push(int a){ while(top) { if(fabs(convex_hull[top].x-p[a].x)
1&&Cross(p[a],convex_hull[top-1])<=Cross(convex_hull[top],convex_hull[top-1])) top--; else break; } convex_hull[++top]=p[a];}void Make_Convex_Hull(){ convex_hull[0]=convex_hull[top=1]=p[1]; for(int i=2;i<=n;i++){ Push(i); }}bool cmp(Point A,Point B){ return A.id

转载于:https://www.cnblogs.com/Leo-JAM/p/10079241.html

你可能感兴趣的文章
洛谷P1005 矩阵取数游戏
查看>>
在Silverlight中使用HierarchicalDataTemplate为TreeView实现递归树状结构
查看>>
无线通信基础(一):无线网络演进
查看>>
如何在工作中快速成长?阿里资深架构师给工程师的10个简单技巧
查看>>
WebSocket 时时双向数据,前后端(聊天室)
查看>>
关于python中带下划线的变量和函数 的意义
查看>>
linux清空日志文件内容 (转)
查看>>
安卓第十三天笔记-服务(Service)
查看>>
Servlet接收JSP参数乱码问题解决办法
查看>>
【bzoj5016】[Snoi2017]一个简单的询问 莫队算法
查看>>
Ajax : load()
查看>>
MySQL-EXPLAIN执行计划Extra解释
查看>>
Zookeeper概述
查看>>
Zookeeper一致性级别
查看>>
单例模式的几种实现方式及对比
查看>>
邓白氏编码 申请
查看>>
Linux远程登录
查看>>
Linux自己安装redis扩展
查看>>
HDU 1016 Prime Ring Problem(dfs)
查看>>
苹果官方例子
查看>>