求凸包(两遍扫描,求上下凸包的方法)
求凸包模版
struct point
{ double x,y; double val,len; }points[20]; point points1[20]; point points2[20]; const int INF=1e8; bool cmp(point a,point b) { if(a.x==b.x) return a.y<b.y; return a.x<b.x; } double chaji(point a,point b,point c,point d) { return (b.x-a.x)*(d.y-c.y)-(b.y-a.y)*(d.x-c.x); } int real[20]; int cover(int potnum) { sort(points1,points1+potnum,cmp); int ansnum=0; for(int i=0;i<potnum;i++) { while(ansnum>1&&chaji(points2[ansnum-2],points2[ansnum-1],points2[ansnum-1],points1[i])<0) ansnum--; points2[ansnum++]=points1[i]; } int k=ansnum; for(int i=potnum-2;i>=0;i--) { while(ansnum>k&&chaji(points2[ansnum-2],points2[ansnum-1],points2[ansnum-1],points1[i])<0) ansnum--; points2[ansnum++]=points1[i]; } if(potnum>1) ansnum--; return ansnum; } double way(point a,point b) { return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)); }
转载于:https://www.cnblogs.com/wsruning/p/5703112.html
求凸包(两遍扫描,求上下凸包的方法)相关推荐
- 2152 Balloons(两遍bfs求图的连通块)
2152 Balloons(两遍bfs求图的连通块) Problem Description Both Saya and Kudo like balloons. One day, they heard ...
- PAT甲级1111 Online Map (30分):[C++题解]两次dijkstra求单源最短路、保存路径、长度最短、时间最短
文章目录 题目分析 题目链接 题目分析 来源:acwing 分析:dijkstra求单源最短路的题目. 只是写两遍而已,第一遍求按照路径长度求,第二遍按照时间最少求. 另外加一个vector路径的判断 ...
- 两条直线求交点c语言,C§ 3.3.1两条直线的交点坐标(5页)-原创力文档
§ 3.1两条直线的交点坐标 学习目标 1.掌握判断两直线相交的方法:会求两直线交点坐标: 2.体会判断两直线相交中的数形结合思想. 学习过程 一.课前准备: (预习教材P112~ P114,找出疑 ...
- 两个链表求交集_实现两个排序链表的并集和交集
两个链表求交集 In computer science, a linked list is a linear collection of data elements, whose order is n ...
- C++:两个数组求最值、排序、合并
问题: 对于整型数组a[10]和b[10],编制程序完成下列任务: (1)由用户从键盘为两个数组输入值: (2)求出两个数组的最大值和最小值: (3)把数组a和b中的整数分别从小到大和从大到小排序: ...
- 两个整数求平均值,防止溢出的问题
两个整数求平均值,防止溢出的问题 http://bylijinnan.iteye.com/blog/1463337 bigInteger 没有上限,取决于计算机的内存: https://www.jia ...
- python中对两个 list 求交集,并集和差集
python中对两个 list 求交集,并集和差集: 1.首先是较为浅白的做法: >>> a=[1,2,3,4,5,6,7,8,9,10] >>> b=[1,2,3 ...
- c编程:求出4#215;4矩阵中最大和最小元素值及其所在行下标和列下标,求出两条主对角线元素之和。...
//求出4×4矩阵中最大和最小元素值及其所在行下标和列下标,求出两条主对角线元素之和 #include <stdio.h> int main() {int sum=0;int max,mi ...
- 利用函数求任意两个数之间的和
利用函数求任意两个数之间的和 <!DOCTYPE html> <html lang="en"><head><meta charset=&q ...
最新文章
- 2021年大数据常用语言Scala(二十二):函数式编程 映射 map
- 思科ucs-b系列服务器,思科统一计算系统UCS B系列刀片推荐
- HDU 4279 占坑先。。。
- iOS应用数据持久化(一)
- python中类似对象吗_确定对象是否为Python中类似字节的对象的正确方法是什么?...
- php Collection类的设计
- fwrite函数的一般调用形式是什么?
- access mysql oracle数据库_Oracle Access 数据库连接 使用
- 浅谈Hybrid技术的设计与实现【转】
- idea远程调试debug
- 冯诺依曼计算机模型中存储器,在冯诺依曼计算机模型中存储器是指什么单元?...
- word的图片和自选图形组合问题
- Python实验-小黑屋
- 少男杀手dodolook签约酷6网原创红人阵营
- 太飒了!这届乘风破浪的 IT 女神写得了代码、撕得掉年龄、跨得过行业!
- android storyboard,iOS中xib与storyboard原理,与Android界面布局的异同
- java pdfreader去除水印_Java - PDF操作库 ItextPdf和PdfBox添加水印
- 绿布抠图;绿衣服抠图,视频单背景抠图
- 电脑如何查看及开启虚拟化
- 如何提高固态硬盘读取速度?