《P14917 [GESP202512 五级] 数字移动》

发布时间:2026/7/16 3:09:38

《P14917 [GESP202512 五级] 数字移动》
题目背景对应的选择、判断题试题 - GESP 202512 C 五级 - 洛谷有题题目描述小 A 有一个包含 N 个正整数的序列 A{A1​,A2​,⋯,AN​}序列 A 恰好包含 2N​ 对不同的正整数。形式化地对于任意 1≤i≤N存在唯一一个 j 满足 1≤j≤N,ij,Ai​Aj​。小 A 希望每对相同的数字在序列中相邻为了实现这一目的小 A 每次操作会选择任意 i(1≤i≤N)将当前序列的第 i 个数字移动到任意位置并花费对应数字的体力。例如假设序列 A{1,2,1,3,2,3}小 A 可以选择 i2将 A2​2 移动到 A3​1 的后面此时序列变为 {1,1,2,3,2,3}耗费 2 点体力。小 A 也可以选择 i3将 A3​1 移动到 A2​2 的前面此时序列变为 {1,1,2,3,2,3}花费 1 点体力。小 A 可以执行任意次操作但他希望自己每次花费的体力尽可能小。小 A 希望你能帮他计算出一个最小的 x使得他能够在每次花费的体力均不超过 x 的情况下令每对相同的数字在序列中相邻。输入格式第一行一个正整数 N代表序列长度保证 N 为偶数。第二行包含 N 个正整数 A1​,A2​,…,AN​代表序列 A。且对于任意 1≤i≤N存在唯一一个 j 满足 1≤j≤N,ij,Ai​Aj​。数据保证小 A 至少需要执行一次操作。输出格式输出一行代表满足要求的 x 的最小值。输入输出样例输入 #1复制6 1 2 1 3 2 3输出 #1复制2说明/提示对于 40% 的测试点保证 1≤N,Ai​≤100。对于所有测试点保证 1≤N,Ai​≤105。代码实现#include bits/stdc.h using namespace std; bool check(int x, const vectorint A) { int n A.size(); vectorint last_pos; unordered_mapint, int first_pos; unordered_mapint, int count; unordered_mapint, vectorint positions; for (int i 0; i n; i) { positions[A[i]].push_back(i); } for (auto p : positions) { int val p.first; if (val x) continue; auto pos p.second; if (pos.size() ! 2) continue; for (int i pos[0] 1; i pos[1]; i) { if (A[i] x) { return false; } } } return true; } int main() { ios::sync_with_stdio(false); cin.tie(0); int N; cin N; vectorint A(N); int maxVal 0; for (int i 0; i N; i) { cin A[i]; maxVal max(maxVal, A[i]); } int left 1, right maxVal, ans maxVal; while (left right) { int mid (left right) / 2; if (check(mid, A)) { ans mid; right mid - 1; } else { left mid 1; } } cout ans \n; return 0; }

相关新闻

FPGA核心技术解析:架构、开发流程与优化实践

FPGA核心技术解析:架构、开发流程与优化实践

2026/7/16 3:09:38

1. FPGA技术概述与核心架构FPGA(Field-Programmable Gate Array)是一种可编程集成电路,其最大特点是能够在制造完成后通过编程反复修改其逻辑功能。这种灵活性使其成为数字电路设计领域的革命性技术。现代FPGA已从最初的简单可编程逻辑器件&a…

FPGA差分信号原理与应用实战指南

FPGA差分信号原理与应用实战指南

2026/7/16 2:59:38

1. 差分信号的基础概念与FPGA应用背景在高速数字电路设计中,差分信号传输已成为应对电磁干扰、提升信号完整性的关键技术手段。与传统的单端信号相比,差分信号通过一对相位相反的信号线(P端和N端)传输信息,利用两者间的…

C++信奥P1766液体滴落:模拟与计算几何的实战精解

C++信奥P1766液体滴落:模拟与计算几何的实战精解

2026/7/16 2:59:38

1. 项目概述与核心需求解析信奥刷题,对于每一个学习信息学奥赛C的选手来说,都是通往更高水平的必经之路。今天要聊的这道题——P1766 液体滴落,乍一看标题有点物理模拟的味道,实际上它是一道非常经典、能很好锻炼选手逻辑思维和代…

路,饮食饮水代谢检测系统 小动物代谢监测系统 小动物代谢检测系统

路,饮食饮水代谢检测系统 小动物代谢监测系统 小动物代谢检测系统

2026/7/16 4:39:42

实时记录动物进食、饮水、自主活动、能量代谢相关数据,食槽结构可防止饲料洒落、粪便混入,多通道持续监测。安徽,正华生物,露。适用于药理药效、毒理、动物营养、肥胖与能量代谢、心血管病症、转基因动物等方向科研实验。技术参数…

游戏AI系统设计:从行为树到Boss战,打造智能敌人

游戏AI系统设计:从行为树到Boss战,打造智能敌人

2026/7/16 4:39:42

1. 项目概述:从“木桩”到“棋手”的进化在动作角色扮演游戏(ARPG)的开发中,敌人AI系统的好坏,直接决定了玩家战斗体验的“魂”。一个只会站桩攻击的Boss,和一个会预判、会走位、会协同、甚至会“演戏”的B…

C++中基于std::sort与OpenCV实现MATLAB风格矩阵排序

C++中基于std::sort与OpenCV实现MATLAB风格矩阵排序

2026/7/16 4:39:42

1. 项目概述:为什么要在C里复刻MATLAB的排序?在计算机视觉和图像处理领域,我们经常需要处理大量的数据点,比如特征点、像素坐标、检测框的置信度等等。这些数据通常以矩阵或向量的形式存在,而排序是其中最基础也最频繁…

华为OD机试高频题:API日志去重与聚合统计的Python/JS实现

华为OD机试高频题:API日志去重与聚合统计的Python/JS实现

2026/7/16 4:39:42

1. 项目概述与核心需求拆解最近在帮几个准备华为OD机试的朋友做模拟练习,发现“API请求日志去重分析”这个题目出现的频率相当高,尤其是在新系统的机试真题里。这题乍一看是个简单的字符串处理,但实际做下来,你会发现它完美地考察…

AUTOSAR NvM切页:为什么Flash数据不是直接覆盖?一文搞懂NvM切页(Page Switching)原理

AUTOSAR NvM切页:为什么Flash数据不是直接覆盖?一文搞懂NvM切页(Page Switching)原理

2026/7/16 4:39:42

前言很多工程师第一次分析AUTOSAR NvM底层存储时,会产生一个疑问:NvM Block明明只有几十Byte,为什么底层Flash却设计得这么复杂?为什么写一次NvM数据,不是简单地找到原地址,然后擦除、重新写入?…

GPT-5.6 Sol模型推理优化与API使用额度调整详解

GPT-5.6 Sol模型推理优化与API使用额度调整详解

2026/7/16 4:29:42

这次我们来看OpenAI最新发布的GPT-5.6系列模型,特别是其中的GPT-5.6 Sol版本。OpenAI在上周正式向所有用户开放了GPT-5.6系列的全部三款模型,包括GPT-5.6 Sol、GPT-5.6 Terra和GPT-5.6 Luna。模型上线后,OpenAI根据首批用户的反馈进行了多项重…

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

2026/7/16 0:35:09

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator作为Unity游戏社区中最成熟的文本翻译解决方…

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

2026/7/13 20:43:19

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持 【免费下载链接】raspberrypi-kernel It provides openEuler kernel source for Raspberry Pi 项目地址: https://gitcode.com/openeuler/raspberrypi-kernel 前往项目官网免费下载&…

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

2026/7/15 0:26:43

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧 【免费下载链接】integration-test The repo contains test suits for system integration test 项目地址: https://gitcode.com/openeuler/integration-test 前往项目官网免费下载:…

Python实现跨境电商商品图批量翻译教程

Python实现跨境电商商品图批量翻译教程

2026/7/16 0:09:31

一、问题引入做跨境电商的卖家朋友,你是否遇到过这样的困扰?每次上架新品到亚马逊、Shopee或Lazada等平台,都需要处理大量商品图片的多语言版本。比如上架200款衣服,每款需要翻译成英语、日语、韩语等5种语言,这意味着…

跨境电商多语言商品图翻译方案实现

跨境电商多语言商品图翻译方案实现

2026/7/16 0:09:31

一、问题引入对于做跨境电商的卖家来说,多语言商品图的制作一直是令人头疼的环节。当你准备在亚马逊、Shopee、Lazada等多个平台同步上架新品时,首先遇到的就是图片翻译问题。以一位做家居用品的卖家为例,他需要将200张商品图片中的英文文案全…

Windows系统文件d3dx9_36.dll丢失找不到问题解决

Windows系统文件d3dx9_36.dll丢失找不到问题解决

2026/7/16 0:09:31

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…