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

P1227 完美的对称【洛谷算法习题】

P1227 完美的对称网页链接P1227 完美的对称题目描述在峰会期间必须使用许多保镖保卫参加会议的各国代表。代表们除了由他自己的随身保镖保护外组委会还指派了一些其他的特工和阻击手保护他们。为了使他们的工作卓有成效使被保卫的人的安全尽可能得到保障保镖被分配到被保护人的各个方向。保镖的最佳站立位置应该是这样的被保护人应站在所有保镖的对称中心。但是只要被保护人一移动保镖就很难根据要人的新位置调整位置。大多数的特工都很难对此作出实时调整。因此安全部长决定将该过程逆转一下保镖先站好自己的位置然后要人在他们的对称中心找到合适的位置。如果要人随便走动我们就对他的安全不必负责。你的工作是使这个过程自动操作。给出一组N NN个点保镖的位置你要找出它们的对称中心S SS在这儿被保护人将相对安全。下面以此类推。首先我们给定一点A AA以及对称中心S SS点A ′ AA′是点A AA以S SS为对称中心形成的像点即点S SS是线段A A ′ AAAA′的对称中心。点阵组X XX以S SS为中心的像点是由每个点的像点组成的点阵组。X XX是用来产生对称中心S SS的即点阵X XX以S SS为中心的像点的集合即为点阵X XX本身。输入格式输入文件第一行是一个整数N NN1 ≤ N ≤ 20000 1\le N\le 200001≤N≤20000接下来的N NN行每行包含用空格隔开的两个整数X i X_iXi​和Y i Y_iYi​− 10 5 ≤ X i , Y i ≤ 10 5 -10^5\le X_i,Y_i\le 10^5−105≤Xi​,Yi​≤105表示这组点阵中第i ii个点的笛卡尔坐标值。因为任何两个保镖都不会站在同一个位置上所以在给定的作业中任何两点都不相同。但注意保镖可以站在被保护人相同的位置。输出格式输出文件仅有一行。如果给定的点阵能产生一个对称中心则输出V.I.P. should stay at ( x , y ). \texttt{V.I.P. should stay at (}x\texttt{,}y\texttt{).}V.I.P. should stay at (x,y).其中x xx和y yy代表中心的笛卡尔坐标值格式为四舍五入保留至小数点后一位。如果该组点阵无对称中心输出This is a dangerous situation!注意输出时除了两个单词之间用一个空格隔开外不要输出多余空格。输入输出样例 #1输入 #18 1 10 3 6 6 8 6 2 3 -4 1 0 -2 -2 -2 4输出 #1V.I.P. should stay at (2.0,3.0).说明/提示JSOI2008 第二轮。解题思路本题核心是点集中心对称判定 排序验证快速求解对称中心。若点集存在中心对称点对称中心必然是排序后首尾两点的中点最外侧点两两对称。解题步骤首先将所有点按坐标排序固定首尾点的中点为候选对称中心随后遍历点集验证第i个点与第n-i1个点是否均关于该候选中心对称若所有点对均满足对称条件则该点为合法中心否则点集无对称中心。算法时间复杂度为O ( n log ⁡ n ) O(n\log n)O(nlogn)主要来自排序完美适配n ≤ 20000 n≤20000n≤20000的数据规模验证过程为线性遍历高效稳定。总结核心逻辑利用中心对称性质通过排序确定候选中心逐点验证对称性。关键操作点坐标排序、候选中心计算、对称点对校验。效率保障排序线性遍历时间复杂度低轻松处理大数据量的点集。代码内容#includebits/stdc.husingnamespacestd;#defineendl\ntypedeflonglongll;typedefunsignedlonglongull;typedefvectorvectorllvvt;typedefpairll,llpll;constll N1e310;constll INF1e18;constll M1e610;constll mod1e97;structP{doublex,y;};boolcmp(Pu,Pv){if(u.yv.y)returnu.xv.x;returnu.yv.y;}intmain(){ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);coutfixedsetprecision(1);ll n;cinn;vectorPa(n1);for(ll i1;in;i)cina[i].xa[i].y;sort(a.begin()1,a.end(),cmp);doublecx(a[1].xa[n].x)/2.0;doublecy(a[1].ya[n].y)/2.0;for(ll i2;in/2;i){doubletx(a[i].xa[n-i1].x)/2.0;doublety(a[i].ya[n-i1].y)/2.0;if(cx!tx||cy!ty){coutThis is a dangerous situation!;return0;}}coutV.I.P. should stay at (cx,cy).;return0;}

相关文章:

P1227 完美的对称【洛谷算法习题】

P1227 完美的对称 网页链接 P1227 完美的对称 题目描述 在峰会期间,必须使用许多保镖保卫参加会议的各国代表。代表们除了由他自己的随身保镖保护外,组委会还指派了一些其他的特工和阻击手保护他们。为了使他们的工作卓有成效,使被保卫的…...

YOLOv11改进 | 特殊场景检测篇 | 适用多种复杂场景的全能图像修复网络AirNet助力yolov11检测(全网独家首发)

开始讲解之前推荐一下我的专栏,本专栏的内容支持(分类、检测、分割、追踪、关键点检测),专栏目前为限时折扣,欢迎大家订阅本专栏,本专栏每周更新3-5篇最新机制,更有包含我所有改进的文件和交流群提供给大家。 一、本文介绍 本文给大家带来的改进机制是一种适用多种复杂场…...

防止静电放电危害的PCB设计技术

本章将讨论静电放电引起的系统问题的硬件解决措施。为了便于对系统硬件解决进行讨论,将系统上的静电放电效应划分成以下三个部分:  1. 静电放电之前静电场的效应  2. 放电产生的电荷注入效应  3. 静电放电电流产生的场效应  尽管印刷线路板&…...

别再被Xilinx GTX官方例程吓到了!手把手带你拆解Support、Frame_Gen和Check模块

从零拆解Xilinx GTX例程:Support、Frame_Gen与Check模块实战指南 第一次打开Xilinx GTX官方例程时,满屏的信号线像一场数字暴雨扑面而来——77到170行全是端口定义,gt0_rxcharisk_out、txusrclk2、SYSTEM_RESET这些名词在眼前跳动。作为FPGA开…...

在i.MX6ULL开发板上手搓DS18B20驱动:从GPIO配置到用户态测试的完整流程

在i.MX6ULL开发板上手搓DS18B20驱动:从GPIO配置到用户态测试的完整流程 温度传感器在工业控制、智能家居等领域有着广泛应用,而DS18B20作为一款经典的单总线数字温度传感器,以其独特的单线接口和较高的精度受到开发者青睐。本文将带你从零开始…...

yolo检测生成的txt转换为labelme可以编辑的json

yolo检测生成的txt转换为labelme可以编辑的json,以及json转txttxt转json代码如下import cv2 import os import json该脚本实现将yolo格式标签转为json格式标签 需要的数据:原始图像 原始yolo格式标签(txt文件) imgs_path "D…...

mdBook集成AI助手:自动化技术文档编写与优化实践

1. 项目概述:当技术文档遇上AI助手最近在折腾一个开源项目,需要写一份像样的技术文档。说实话,写文档这事儿,对很多开发者来说,可能比写代码还头疼。代码逻辑清晰,运行结果立竿见影;文档呢&…...

【INTERCONNECT】CW Laser 和 OPWM 组成的系统

【INTERCONNECT】CW Laser 和 OPWM 组成的系统 引言 正文 Author: JiJi \textrm{Author: JiJi} Author: JiJi Created Time: 2026.05.07 \textrm{Created Time: 2026.05.07} Created Time: 2026.05.07...

【INTERCONNECT】Optical Spectrum Analyzer 组件

【INTERCONNECT】Optical Spectrum Analyzer 组件 引言 正文 General 标签页下的参数 Standard 标签页下的参数 Enhanced 标签页下的参数 Simulation 标签页下的参数 Display 标签页下的参数 Results 标签页下的参数 Author: JiJi \textrm{Author: JiJi} Author: JiJi Created…...

Chrome插件开发实战

目录 一、核心概念与基础 二、开发环境搭建 三、Content Script深度开发 四、Background Script高级技巧 五、数据存储方案选型 六、权限安全最佳实践 七、调试与性能优化 八、实战案例:广告拦截插件 九、发布与更新策略 掌握浏览器扩展开发核心技术&#…...

从VBA到Python:给老牌仿真软件HFSS做个‘现代化改造’

从VBA到Python:HFSS仿真自动化的技术跃迁与实践指南 在电磁仿真领域,HFSS作为行业标杆工具已有数十年历史,而与其相伴的VBA脚本语言正逐渐显露出时代局限性。当Python以每年20%的增速成为工程领域最受欢迎的编程语言时(IEEE Spect…...

国内如何聪明地使用Cursor,汉化、无限制与第三方Key三步走

为何使用Cursor 在AI 编程IDE选择上,Cursor的提示词输入,文件引用,使用交互方面确实是很良好的,如果对工具交互有极致要求的,相对Trae 、VSCode等确实不太完美。 汉化,让你更加快速操作界面 无限制&#x…...

Python代码实现原理深度解析:从基础语法到高级特性

Python代码实现原理深度解析:从基础语法到高级特性 【免费下载链接】code ActiveState Code Recipes 项目地址: https://gitcode.com/gh_mirrors/code1/code 一、Python代码执行的基本流程 Python作为一门解释型语言,其代码实现原理主要围绕解释…...

2025届最火的十大AI学术工具横评

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 专门用于降低文本被人工智能检测系统识别概率的工具问世,它借助语义重构与句式变…...

tinfoleak地理情报分析:追踪用户位置与移动路线的终极指南

tinfoleak地理情报分析:追踪用户位置与移动路线的终极指南 【免费下载链接】tinfoleak The most complete open-source tool for Twitter intelligence analysis 项目地址: https://gitcode.com/gh_mirrors/ti/tinfoleak tinfoleak是一款功能强大的开源Twitt…...

BoringSSL未来展望:量子安全加密与下一代协议演进

BoringSSL未来展望:量子安全加密与下一代协议演进 【免费下载链接】boringssl Mirror of BoringSSL 项目地址: https://gitcode.com/gh_mirrors/bo/boringssl BoringSSL作为一款由Google开发的加密库,正积极应对量子计算带来的挑战,通…...

为Claude Code配置Taotoken密钥与聚合地址避免封号困扰

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为Claude Code配置Taotoken密钥与聚合地址避免封号困扰 如果你正在使用Claude Code作为编程助手,可能会遇到官方渠道的…...

ESXi GPU虚拟化(vGPU)怎么配置?新手一步到位教程

在ESXi主机运维中,随着图形密集型业务(如3D渲染、AI训练、虚拟桌面)的需求增加,GPU虚拟化(vGPU)成为必备技能——通过vGPU技术,可将一张物理GPU虚拟化成多个虚拟GPU,分配给不同虚拟机…...

Newton性能分析工具:找出仿真瓶颈的实用方法

Newton性能分析工具:找出仿真瓶颈的实用方法 【免费下载链接】newton An open-source, GPU-accelerated physics simulation engine built upon NVIDIA Warp, specifically targeting roboticists and simulation researchers. 项目地址: https://gitcode.com/Git…...

华硕B660M主板装Ubuntu 22.04,避开N卡黑屏和磁盘识别坑的保姆级教程

华硕B660M主板Ubuntu 22.04实战指南:NVIDIA显卡与磁盘识别的终极解决方案 当高性能硬件遇上开源系统,总会碰撞出意想不到的火花。作为一名长期在Linux环境下工作的开发者,我最近为团队配置了一批搭载华硕B660M主板和NVIDIA 30系列显卡的开发机…...

ESP32-S3开发板硬件解析与LoRaWAN实战指南

1. 硬件解析:Heltec WiFi LoRa 32 (V4)开发板深度拆解1.1 核心硬件架构设计这款基于ESP32-S3的开发板在硬件设计上做了多项针对性优化。主控采用双核240MHz的ESP32-S3,搭配512KB SRAM和2MB PSRAM的内存组合,在低功耗场景下能保持足够的处理能…...

AI Agent运维实战:轻量级仪表板AgentHQ部署与核心功能解析

1. 项目概述:一个为AI Agent团队打造的轻量级运维仪表板如果你正在使用OpenClaw框架管理一个AI Agent团队,那么你很可能和我一样,经历过这样的混乱时刻:打开好几个终端窗口,翻看一堆日志文件,才能勉强搞清楚…...

零基础学日语,我用这510个单词搞定《标日初级》前12课(附分类记忆法)

零基础日语入门:510个高频词构建《标日初级》12课完整记忆网络 站在东京涩谷的十字路口,耳边此起彼伏的日语对话让刚落地的新手学习者感到既兴奋又焦虑。当我翻开《标准日本语》前12课,面对510个陌生单词时,传统按课背诵的方法让我…...

ARM CP15协处理器与DMA控制架构深度解析

1. ARM CP15协处理器与DMA控制架构解析在ARMv6架构的嵌入式系统中,CP15协处理器扮演着系统控制核心角色,其寄存器组管理着内存保护、缓存操作以及DMA传输等关键功能。以ARM1136JF-S为例,c11寄存器组专门负责两级DMA控制,通过硬件加…...

FPGA设计避坑指南:手把手教你搞定跨时钟域信号处理(附Verilog代码)

FPGA设计避坑指南:手把手教你搞定跨时钟域信号处理(附Verilog代码) 在数字电路设计中,跨时钟域(CDC)问题就像一颗定时炸弹,随时可能让你的系统陷入混乱。想象一下这样的场景:你精心设…...

老司机翻车记:双路E5+PVE7.0直通GTX1060,我踩过的那些坑和最终解法

双路E5平台PVE7.0显卡直通实战:从错误码43到完美驱动的深度排错指南 当你在双路E5服务器上尝试将GTX1060直通给PVE7.0虚拟机时,可能会遇到一系列令人抓狂的问题——黑屏、错误码43、分辨率异常、光标闪烁...这些问题往往让中高级用户也束手无策。本文不是…...

AI任务分解与执行框架:从原理到实战构建智能工作流引擎

1. 项目概述与核心价值最近在折腾AI应用开发的朋友,估计都绕不开一个核心痛点:如何让一个AI模型,比如ChatGPT,真正理解并执行复杂的、多步骤的任务?我们常常遇到的情况是,你给AI一个指令,它可能…...

Auralith程序化音频引擎:实时动态声音生成与游戏集成实战

1. 项目概述:Auralith是什么,以及它为何值得关注如果你是一名独立游戏开发者,或者对游戏音频设计有浓厚兴趣,那么“Auralith”这个名字很可能已经出现在你的雷达上。这是一个由开发者“smouj”在GitHub上开源的项目,它…...

WiFi 6智能管理:从OFDMA、TWT到云端优化,解决家庭网络拥堵实战

1. WiFi 6的潜力与隐忧:为什么“智能”比“更快”更重要 WiFi 6终于走进了千家万户。铺天盖地的宣传都在告诉你,它能带来飞一般的网速、更低的延迟,以及同时连接海量设备的能力。从技术规格上看,这无疑是无线网络的一次巨大飞跃。…...

Socket.IO-objc性能优化指南:减少延迟、节省流量的7个策略

Socket.IO-objc性能优化指南:减少延迟、节省流量的7个策略 【免费下载链接】socket.IO-objc socket.io v0.7.2 — 0.9.x for iOS and OS X 项目地址: https://gitcode.com/gh_mirrors/so/socket.IO-objc Socket.IO-objc是一款为iOS和OS X平台打造的Socket.IO…...