资源简介
凸包melkman算法cpp实现,通过poj1113题测试
代码片段和文件信息
/* ac poj 1113
由于1113输入已经是个简单多边形,故可以直接用melkman求凸包o(n)复杂度
如果输入只是个点集合,就要先排序 再用melkman 复杂度为nlgn
排序可先按照x排,再y排
*/
#include
#include
#include
#define N 1002
#define pi 3.141592653589793
struct POINT{
int xy;
};
int nlD[N*2]topbot;
POINT point[N];
inline double dis(POINT aPOINT b){
double x=a.x-b.x;
double y=a.y-b.y;
return sqrt(x*x+y*y);
}
inline int cross(POINT aPOINT b){
return a.x*b.y-b.x*a.y;
}
int isleft(POINT oPOINT aPOINT b){ //判断ab是不是在oa的左边
POINT x;
POINT y;
x.x=a.x-o.x;
x.y=a.y-o.y;
y.x=b.x-a.x;
y.y=b.y-a.y;
return cross(xy);
}
void melkman(){
int it;
bot=n-1; top=n;
D[top++]=0; D[top++]=1;
for(i=2;i if(isleft(point[D[top-2]]point[D[top-1]]point[i])!=0) break; //寻找第三个点 要保证3个点不共线!!
D[top-1]=i; //共线就更换顶点
}
D
- 上一篇:售前、售中、售后服务方案及保障措施方案
- 下一篇:基于51单片机电子时钟的设计
相关资源
- 梁宁产品经理思维30讲.pdf
- CHI760E辰华电化学工作站软件最新版
- SAPERPHCM葵花宝典系列之配置指南(电
- TangZhuoLin.rar
- Day3_NOI.zip
- 图解HTTP.pdf
- VisionProStandardv7.2(2Day).zip
- ElevatorSimulation.zip
- 14002454IPC-A-610DChinese(L).pdf
- SoftwareEngineering.pdf
- linfanrong_10164999.rar
- The.Art.Of.Unit.Testing.With.Examples.in.C.2nd
- myGame.rar
- 带手机版数据同步财税代理公司注册
- pdf课本及习题答案.rar
- 深度学习PDF非扫描版(中文版)麻省
- doudizhu_shffule_src.zip
- 随机信号分析解题指南.pdf
- ios12.3驱动.zip
- 百万邮件系统多机版.rar
- learnopengl-cn-2018年5月更新.pdf
- zw_学习OpenCV(中文版).zip
- 1-300.pdf
- pyqt5windows生成二维工具源码
- KNN疾病预测算法Demo
- ABAQUS单元失效浅析(单元删除
- Jtopo+json格式数据代码
- 解多目标规划的单纯形代码
- TerraVolVoxelTerrainEngine2.1c.7z
- VA_X_Setup2118.rar
评论
共有 条评论