当前位置: 首页 > news >正文

水平可见直线--上凸包(andrew算法

P3194 [HNOI2008] 水平可见直线 - 洛谷

不过·只有90%

#include<bits/stdc++.h>
using namespace std;
#define N 100011
typedef  long long ll;
typedef pair<ll,int> pii;
int n;
struct no
{double k,b;int id;
}a[N],an[N];
int k;
bool cmp(no a,no b)
{if(a.k==b.k) return a.b<b.b;return a.k<b.k;
}
double cross(double ax,double ay,double bx,double by)
{return ax*by-ay*bx;
}
int t;
void andrew()
{an[0]=a[0];k=1;for(int i=0;i<n;i++){while(k>1&&cross(an[k-1].k-an[k-2].k,an[k-1].b-an[k-2].b,a[i].k-an[k-1].k,a[i].b-an[k-1].b)<=1e-6){k--;}an[k++]=a[i];///只求上凸包 }t=k;for(int i=n-2;i>=0;i--){while(k>t&&cross(an[k-1].k-an[k-2].k,an[k-1].b-an[k-2].b,a[i].k-an[k-1].k,a[i].b-an[k-1].b)<=1e-6){k--;}an[k++]=a[i];///只求上凸包 }
}
bool cc(no a,no b)
{return a.id<b.id;
}
int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n;for(int i=0;i<n;i++){cin>>a[i].k>>a[i].b;a[i].id=i+1;	}sort(a,a+n,cmp);andrew();sort(an+t-1,an+k,cc);for(int i=t-1;i<k;i++) cout<<an[i].id<<" ";return 0;
}

http://www.xdnf.cn/news/514081.html

相关文章:

  • 【嵙大o】C++作业合集
  • 不同版本 Linux 系统账号操作指令 ——rtkit 账号删除、普通账号的创建 / 删除 / 权限修改超详细大全
  • 如何在 Windows 11 或 10 上安装 Amazon Corretto
  • Ubuntu 20.04 报错记录: Matplotlib 无法使用 OpenCV 的 libqxcb.so
  • O2O电商变现:线上线下相互导流——基于定制开发开源AI智能名片S2B2C商城小程序的研究
  • Python蓝色飘雪
  • Linux云计算训练营笔记day10(MySQL数据库)
  • Java虚拟机 - JVM与Java体系结构
  • MyBatis 核心技术详解:从连接池到多表查询
  • Python多进程、多线程、协程典型示例解析
  • 深入理解 OpenCV 的 DNN 模块:从基础到实践
  • OpenSearch入门:从文档示例到查询实战
  • MCP - Cline 接入 高德地图 Server
  • DAY 29 复习日:类的装饰器
  • # 终端执行 java -jar example.jar 时(example.jar为项目jar包)报错:“没有主清单属性” 的解决方法
  • 第一章:重启之始
  • 零基础搭建!基于PP-ShiTuV2的轻量级图像识别系统(Docker+API部署指南)
  • 蓝桥杯1140 最小质因子之和(Hard Version)
  • 2KW压缩机驱动参考设计【SCH篇】
  • 使用conda创建python虚拟环境,并自定义路径
  • C++学习:六个月从基础到就业——C++20:协程(Coroutines)
  • Golang内存逃逸
  • 用代码解读_AI_强化学习在机器人路径规划中的应用与优化
  • nginx相关面试题30道
  • OpenCV-去噪效果和评估指标方法
  • MapReduce-WordCount实现按照value降序排序、字符小写、识别不同标点
  • 【ROS2】 核心概念6——通信接口语法(Interfaces)
  • 定时器相关概念
  • C++(243~263)STL常用算法、遍历算法(for_each,Transform)、查找算法、拷贝和替换、常用算术生成,常用集合算法。
  • 2025抓包工具Reqable手机抓包HTTPS亲测简单好用-快速跑通