P1257 平面上的最接近点对

news2024/11/18 3:29:49

题目

在这里插入图片描述

思路

详见加强加强版

代码

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int maxn=4e5+10;
pair<int,int> a[maxn];
int n;
double d=1e16;
pair<int,int> vl[maxn],vr[maxn];
void read() { cin>>n;for(int i=1;i<=n;i++) cin>>a[i].first>>a[i].second; }
double dis2(pair<int,int> a,pair<int,int> b) { return (a.first-b.first)*(a.first-b.first)+(a.second-b.second)*(a.second-b.second); }
void solve(int l,int r){
	if(l==r) { swap(a[l].first,a[l].second);return; }
	int mid=l+r>>1;int x=a[mid].first;
	solve(l,mid),solve(mid+1,r);
	double dis=sqrt(d);
	int sl=0,sr=0;
	for(int i=l;i<=mid;i++) if(x-a[i].second<dis) vl[++sl]=a[i];
	for(int i=mid+1;i<=r;i++) if(a[i].second-x<dis) vr[++sr]=a[i];
	int p=1,q=0;
	for(int i=1;i<=sl;i++){
		while(p<=sr&&vl[i].first-vr[p].first>=dis) p++;
		while(q<sr&&vr[q+1].first-vl[i].first<dis) q++;
		for(int j=p;j<=q;j++) d=min(d,dis2(vl[i],vr[j]));
	}
	inplace_merge(a+l,a+mid+1,a+r+1);
}
signed main()
{
	read();
	sort(a+1,a+1+n);
	solve(1,n);
	printf("%.4lf",sqrt(d));
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/826807.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28‘ not found

某项目中&#xff0c;我要给别人封装一个深度学习算法的SDK接口&#xff0c;运行在RK3588平台上&#xff0c;然后客户给我的交叉编译工具链是 然后我用他们给我的交叉编译工具链报下面的错误&#xff1a; aarch64-buildroot-linux-gnu-gcc --version /data/chw/aarch64/bin/cca…

Race竞争型漏洞

Race竞争介绍 竞争型漏洞&#xff08;Race Condition Vulnerability&#xff09;是一种存在于并发编程中的安全漏洞。它通常发生在多个线程或进程同时访问和修改共享资源时&#xff0c;由于执行顺序的不确定性而导致意外的结果。 竞争型漏洞的原理可以用以下步骤来解释&#x…

该选择WPF 还是 Winform?

WPF和WinForms都是.NET平台下的桌面应用程序开发框架&#xff0c;它们各有特点&#xff0c;适用于不同的场景和需求。下面是对WPF和WinForms的一些比较和优劣势&#xff1a;WPF&#xff08;Windows Presentation Foundation&#xff09;&#xff1a;WPF具有强大的图形渲染能力&…

ssm客户关系管理系统java公司企业房屋销售出租jsp源代码mysql

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 ssm客户关系管理系统 系统有1权限&#xff1a;管理员…

计算机网络(3) --- 网络套接字TCP

计算机网络&#xff08;2&#xff09; --- 网络套接字UDP_哈里沃克的博客-CSDN博客https://blog.csdn.net/m0_63488627/article/details/131977544?spm1001.2014.3001.5501 目录 1.TCP 1.服务端接口介绍 1.listen状态 2.accept获取链接 2.客户端接口介绍 2.TCP的服务器…

力扣:48. 旋转图像(Python3)

题目&#xff1a; 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像&#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&…

基于ANACONDA安装用于Python编程的Spyder集成开发环境的方法步骤详解

基于ANACONDA安装用于Python编程的Spyder集成开发环境的方法步骤详解 Python作为一种当下流行的编程语言&#xff0c;其编辑器有很多种&#xff0c;本文介绍基于ANACONDA的安装Spyder编辑器的方法步骤。Spyder集成开发环境&#xff0c;和其他的Python开发环境相比&#xff0c;…

django bootstrap html实现左右布局,带折叠按钮,左侧可折叠隐藏

一、实现的效果 在django项目中,需要使用bootstrap 实现一个左右分布的布局,左侧区域可以折叠隐藏起来,使得右侧的显示区域变大。(为了区分区域,左右加了配色,不好看的修改颜色即可) 点击折叠按钮,左侧区域隐藏,右侧区域铺满: 二、实现思路 1、使用col-md属性,让左…

JavaEE初阶之文件操作 —— IO

目录 一、认识文件 1.1认识文件 1.2树型结构组织 和 目录 1.3文件路径(Path) 1.4其他知识 二、Java 中操作文件 2.1File 概述 2.2代码示例 三、文件内容的读写 —— 数据流 3.1InputStream 概述 ​3.2FileInputStream 概述 3.3代码示例 3.4利用 Scanner 进行字…

procreate怎么插入图片?如何将图片插入到procreate图层里?

Procreate是一款运行在iPadOS上的强大的绘画应用软件&#xff0c;让创意人士随时把握灵感&#xff0c;通过简易的操作系统&#xff0c;专业的功能集合进行素描、填色、设计等艺术创作。procreate怎么插入图片&#xff1f;如何将图片插入到procreate图层里&#xff1f; 打开平板…

【二分+滑动窗口优化DP】CF883 I

Problem - 883I - Codeforces 题意&#xff1a; 思路&#xff1a; 首先&#xff0c;要让最大值最小&#xff0c;很显然要二分 那么就相当于有了一个极差的限制&#xff0c;看能不能分组&#xff0c;每组至少m个元素 那么就是考虑分段DP&#xff0c;直接n^2很容易写 但是n …

偶发odbc.ini文件被清空

现象&#xff1a;某个现场 odbc.ini 莫名其妙被清空&#xff0c;偶发情况&#xff0c;大概几周出现一次。 unixodbc官网地址–> https://www.unixodbc.org/ //2.3.7 BOOL _odbcinst_SystemINI( char *pszFileName, BOOL bVerify ) {FILE *hFile;char …

这个Python项目让古诗变得更易读,看完《长安三万里》惊艳了!

大家好&#xff0c;这里是程序员晚枫&#xff0c;最近在小红薯更新生活VLOG&#xff0c;被骂惨了&#xff01; 周末和小明去看了一场电影&#xff1a;《长安三万里》。 看电影的过程中发生了一件尴尬的事情&#xff1a;很多诗词里的字我都不认识。 回家以后&#xff0c;我赶…

机器学习深度学习——非NVIDIA显卡怎么做深度学习(坑点排查)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——数值稳定性和模型化参数&#xff08;详细数学推导&#xff09; &#x1f4da;订阅专栏&#xff1a;机器…

systemverilog中fork..join, join_any, join_none的用法和解析

1、fork.. join, join_any以及join_none的用法进行总结 1.1、 fork..join fork..join: 必须等到statement1&#xff0c;statement2&#xff0c;statement3全部执行完之后&#xff0c;statement4才可以执行。fork…join内的所有语句都是并发执行&#xff08;对于begin…end内…

浪涌保护器10/350us和8/20us是什么意思,两者有何区别?

在选择浪涌保护器的时候&#xff0c;浪涌保护器的防雷能力放电电流后面的单位一般是KA&#xff0c;KA后面还有个参数是10/350us或者8/20us&#xff0c;大家可能对这2个参数不太熟悉。 那么&#xff0c;浪涌保护器10/350us和8/20us是什么意思&#xff0c;两者有何区别呢&#x…

025 - max()函数

MAX() 函数: MAX 函数返回一列中的最大值。NULL 值不包括在计算中。 SQL MAX() 语法: SELECT MAX(column_name) FROM table_name; 注释&#xff1a;MAX 也可用于文本列&#xff0c;以获得按字母顺序排列的最高或最低值。 -- 实际操作&#xff08;查询salary的最大值&#x…

【十万个等保小知识】等保测评报告是在等保整改之后发吗?

等保2.0政策已经严格落地执行了一段时间&#xff0c;但大家对于等保2.0政策还存在很多疑问&#xff0c;例如等保测评报告是在等保整改之后发吗&#xff1f;今天我们小编就来为大家简单回答一下&#xff0c;仅供参考哦&#xff01; 等保测评报告是在等保整改之后发吗&#xff1f…

uniapp echarts 点击失效

这个问题网上搜了一堆&#xff0c;有的让你降版本&#xff0c;有的让你改源码。。。都不太符合预期&#xff0c;目前我的方法可以用最新的echarts。 这个方法就是由npm安装转为CDN&#xff0c;当然你可能会质疑用CDN这样会不稳定&#xff0c;那如果CDN的地址是本地呢&#xff1…

【数据库】将excel数据导入mysql数据库

环境&#xff1a;Windows10 mysql8以上 将你要导入的excel表另存为txt格式 打开txt格式文件&#xff0c;删除表头行并另存为并更改编码方式&#xff08;由于与数据库的编码不同&#xff0c;会导致导入报错&#xff09; 通过命令行登录数据库 winr cmd进入 进入装mysql的目录位…