几何(geometry)

题目描述

小可可最近在学习平面几何!

给定平面上的 n n n个点 ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x i , y i ) (x_1,y_1),(x_2,y_2),…,(x_i,y_i) (x1,y1),(x2,y2),,(xi,yi)

根据题目要求,输出下列两个值其中一个:

  1. 任意两点间欧几里得距离最大值的平方,对于两个点 ( x i , y i ) 和 ( x j , y j ) (x_i,y_i)和(x_j,y_j) (xi,yi)(xj,yj),欧几里得距离定义为 ( x i − x j ) 2 + ( y i − y j ) 2 \sqrt{(x_i-x_j)^2+(y_i-y_j)^2} (xixj)2+(yiyj)2

2.任意两点间曼哈顿距离最大值,对于两个点 ( x i , y i ) 和 ( x j , x j ) (x_i,y_i)和(x_j,x_j) (xi,yi)(xj,xj),曼哈顿距离定义为 ∣ x i − x j ∣ + ∣ y i − y j ∣ |x_i-x_j|+|y_i-y_j| xixj+yiyj

输入格式

第一行,两个整数 n , o p , n n,op,n n,opn 为平面内有多少个点, o p op op 为1则求欧几里得距离最大值的平方,若 o p op op 为2则求曼哈顿距离最大值。

2 到 n + 1 2 到 n+1 2n+1 行,每行两个数 x i , y i x_i,y_i xi,yi,表示平面上的一个点。

输出格式

一行,一个整数,表示答案。

样例 #1

样例输入 #1

5 1
3 4
1 2
5 2
3 1
2 3

样例输出 #1

16

样例 #2

样例输入 #2

5 2
3 4
1 2
5 2
3 1
2 3

样例输出 #2

4

提示

数据点1~2,op=1, 1 ≤ n < 1 0 3 , 1 < x i < 1 0 4 , y i = 1 1≤n<10^3,1<x_i< 10^4,y_i=1 1n<103,1<xi<104,yi=1

数据点3~6,op=1, 1 ≤ n ≤ 1 0 3 , 1 ≤ x i , y i ≤ 1 0 9 1≤n≤10^3,1≤x_i,y_i≤ 10^9 1n103,1xi,yi109

数据点 7~ 10,op=2, 1 ≤ n ≤ 1 0 3 , 1 ≤ x i , y i < 1 0 9 1≤n≤ 10^3,1≤x_i,y_i<10^9 1n103,1xi,yi<109

数据点 11~ 14,op= 2, 1 ≤ n ≤ 1 0 6 , 1 ≤ x i ≤ 1 0 9 , y i = 1 1≤n≤ 10^6,1 ≤x_i≤ 10^9,y_i=1 1n106,1xi109,yi=1

数据点 15~ 20,op=2, 1 ≤ n ≤ 1 0 6 , 1 ≤ x i , y i < 1 0 9 1≤n≤ 10^6,1≤ x_i,y_i< 10^9 1n106,1xi,yi<109

#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 5;
int n, op, x[N], y[N];
int a = INT_MIN, b = INT_MAX, c = INT_MIN, d = INT_MAX;
int main() {cin >> n >> op;for (int i = 1; i <= n; i++) {scanf("%d%d", &x[i], &y[i]);a = max(a, x[i] + y[i]);b = min(b, x[i] + y[i]);c = max(c, x[i] - y[i]);d = min(d, x[i] - y[i]);}if (op == 1) {long long ans = 0;for (int i = 1; i <= n; i++)for (int j = i + 1; j <= n; j++) {long long u = x[i] - x[j], v = y[i] - y[j];ans = max(ans, u * u + v * v);}cout << ans;} else {cout << max(a - b, c - d);}return 0;
}

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

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

相关文章

yolov8逐步分解(9)_训练过程之Epoch迭代过程

yolov8逐步分解(1)--默认参数&超参配置文件加载_yolov8 加载yaml配置 预测-CSDN博客 yolov8逐步分解(2)_DetectionTrainer类初始化过程_train and val are required in all data yamls.-CSDN博客 yolov8逐步分解(3)_trainer训练之模型加载_yolov8 加载模型-CSDN博客 YOL…

TCP 建链(三次握手)和断链(四次握手)

TCP 建链&#xff08;三次握手&#xff09;和断链&#xff08;四次挥手&#xff09; 背景简介建链&#xff08;三次握手&#xff09;断链&#xff08;四次挥手&#xff09;序号及标志位延伸问题为什么建立连接需要握手三次&#xff0c;两次行不行&#xff1f;三次握手可以携带数…

智领未来,安全无忧:智能网联汽车监控大屏的守护之旅

在繁忙的都市中&#xff0c;驾驶者往往面临着诸多安全隐患。传统的驾驶辅助系统虽然能够提供一定的帮助&#xff0c;但在复杂多变的交通环境中&#xff0c;其局限性也逐渐显现。而智能网联汽车安全监控大屏&#xff0c;正是为了解决这一问题而诞生的。 山海鲸可视化大屏 大屏采…

基础篇04——多表查询

多表关系 一对多 多对多 多对多是通过中间表实现的 -- 创建学生表 create table student (id int auto_increment primary key comment ID,name varchar(10) comment 姓名,no varchar(3) comment 学号 ) comment 学生表;insert into student values (null, 黛绮丝, 001),(…

SLAM中四元数、流形、李群、李代数是啥?

知识点得逻辑关系如下 引言 非线性问题由于复杂的数学结构&#xff0c;多样的解空间&#xff0c;局部极值等问题求解难度大大增加。所以在求解时需要把非线性问题转化为更容易处理的形式&#xff0c;例如 数值优化方法&#xff1a;数值优化方法包括梯度下降、共轭梯度法、牛顿…

Spring boot实现基于注解的aop面向切面编程

Spring boot实现基于注解的aop面向切面编程 背景 从最开始使用Spring&#xff0c;AOP和IOC的理念就深入我心。正好&#xff0c;我需要写一个基于注解的AOP&#xff0c;被这个注解修饰的参数和属性&#xff0c;就会被拿到参数并校验参数。 一&#xff0c;引入依赖 当前sprin…

寒武纪:“国产平替”道阻且长

英伟达的一季报反映了AI装备竞赛白热化&#xff0c;科技巨头们正疯狂加码投资。 不过&#xff0c;因为众所周知的原因,英伟达最先进的产品卖不到国内&#xff0c;虽然说一定程度上限制了咱们AI的发展&#xff0c;但也给国产AI芯片公司们提供了机会&#xff0c;其中就包括我们今…

K8S==ingress简单搭建和使用

基础环境 D:\DOCKER_REPO\K8S>kubectl version Client Version: v1.29.2 Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3 Server Version: v1.29.2 D:\DOCKER_REPO\K8S>kubectl get nodes NAME STATUS ROLES AGE VERSION docker-…

null、未定义或未声明的变量之间有什么区别?

在 JavaScript 中,null、未定义的变量和未声明的变量之间存在以下区别: null:null 是一个特殊的值,表示"没有值"或"无"。它是一个关键字,可以被显式地赋值给一个变量。使用 typeof null 会返回 "object"(这是 JavaScript 的一个已知的设计缺陷)…

01_深度学习基础知识

1. 感知机 感知机通常情况下指单层的人工神经网络,其结构与 MP 模型类似(按照生物神经元的结构和工作原理造出来的一个抽象和简化了模型,也称为神经网络的一个处理单元) 假设由一个 n 维的单层感知机,则: x 1 x_1 x1​ 至 x n x_n xn​ 为 n 维输入向量的各个分量w 1 j…

【大学物理】Interference,diffraction,polarization:光学

nature of light definition speed of light reflection dispersion huygenss principle:惠更斯原理

OBD诊断协议

上周领导需要做个OBD相关的功能&#xff0c;我对OBD没有啥概念&#xff0c;于是周末就了解下这到底是个啥东西。了解过后发现很简单&#xff0c;其实就是个UDS协议的简化版&#xff0c;OBD是英文On-Board Diagnostics的缩写&#xff0c;中文翻译为“车载自动诊断系统”&#xf…

链表反转--理解链表指针的基本操作

链表反转--理解链表指针的基本操作 链表反转的方法--主要是理解链表指针链表心得类节点是对象和指针区别&#xff1a; 链表反转的方法–主要是理解链表指针 根据值创建新列表 用一个链表指针代替整个新链表 两个链表的赋值 递归求解反向链表 用一个链表代替前后链表数…

Qt应用程序发布

一、静态编译发布 1.0:以Release模式构建工程 1.1:查看当前构建生成路径,并将所生成的.exe单独拷贝出来 1.2:将可执行文件*.exe拷贝至任一目标文件夹:D:\Temporary\QQIF 2:查看安装Qt时发布工具windeployqt.exe所在的目录 windeployqt.exe在Qt开发套件的bin目录下。Qt的每…

功能模块图 自动绘制

功能模块图展示了系统中各个功能模块及其之间的关系。我们可以使用Python代码生成一个简单的功能模块图。 假设我们有一个在线购物系统,功能模块图包括以下模块: 用户管理商品管理订单管理支付管理购物车管理这些模块的关系如下: 用户管理模块依赖于订单管理和购物车管理模…

构建高效稳定的短视频直播系统架构

随着短视频直播的迅猛发展&#xff0c;构建一个高效稳定的短视频直播系统架构成为了互联网企业的重要挑战。本文将探讨如何构建高效稳定的短视频直播系统架构&#xff0c;以提供优质的用户体验和满足日益增长的用户需求。 ### 1. 短视频直播系统的背景 短视频直播近年来蓬勃发…

Pycharm 添加内容根

解决问题&#xff1a;包未能被正常引入时

try…except…finally语句

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 完整的异常处理语句应该包含finally代码块&#xff0c;通常情况下&#xff0c;无论程序中有无异常产生&#xff0c;finally代码块中的代码都会被执行…

2024 年该如何利用 MidJourney 创作AI艺术(详细教程)

什么是 Midjourney Midjourney 是根据文本提示创建图像的生成式人工智能的优秀范例。与 Dall-E 和 Stable Diffusion 一样&#xff0c;它已成为最受欢迎的人工智能艺术创作工具之一。与竞争对手不同的是&#xff0c;Midjourney 是自筹资金和封闭源代码的&#xff0c;因此对它的…

【WRF理论第二期】模型目录介绍

WRF理论第二期&#xff1a;模型目录介绍 1 WRF主目录2 WPS主目录3 编译后的可执行文件4 运行目录参考 了解 WRF 模型的目录结构有助于有效地管理和操作模型&#xff0c;从而确保模拟和分析工作的顺利进行。以下分解介绍WRF主目录、WPS主目录等。 Github-wrf-model/WRF 1 WRF…