发布时间:2026/7/16 3:10:02
《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; }

相关新闻

2026/7/16 3:10:02

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

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

2026/7/16 3:10:02

从LM324到TDA2030:一个10W高保真音响放大器的完整设计剖析

1. 音响放大器设计基础第一次动手做音响放大器时,我对着满桌子的电子元件发愣。LM324和TDA2030这些芯片看起来就像外星来客,直到真正理解了它们的工作原理,才发现高保真音响设计其实很有趣。10W功率的放大器对初学者来说是个不错的起点&#…

2026/7/16 3:04:50

C语言解引用操作符(*)一看就懂

指针入门必知:* 不只是乘法,还能“取内容”一. 什么是指针?先记住一句话:指针就是存放地址的变量。int a 10; int *p &a; // p 里存的是变量 a 的地址p 就是个指针变量,它“指向”了 a。二. 解引用操作符 * 是…

2026/7/16 9:30:39

硬件工程师八大细分岗位详解:从设计到测试的职业发展指南

硬件工程师这个岗位名称听起来很笼统,但实际招聘和工作中,它包含了多个技术栈、职责和职业路径差异巨大的细分方向。很多刚入行的工程师,甚至工作一两年的朋友,如果不了解这些细分岗位的具体要求和发展方向,很容易在职…

2026/7/16 9:30:39

SQL注入攻击:常见web攻击手段,如何防范SQL注入

SQL注入攻击:常见web攻击手段,如何防范SQL注入📝 本章学习目标:本章介绍网络服务,帮助读者掌握常见网络服务的配置与管理。通过本章学习,你将全面掌握"SQL注入攻击:常见web攻击手段&#x…

2026/7/16 9:30:39

Python进阶:装饰器保留原函数信息(functools.wraps)

Python进阶:装饰器保留原函数信息(functools.wraps)📚 本章学习目标:深入理解装饰器保留原函数信息(functools.wraps)的核心概念与实践方法,掌握关键技术要点,了解实际应…

2026/7/16 9:30:39

股票投资实战:交易策略、风险控制与量化分析

股票投资实战:从1万到100万的交易策略与风险控制在股票市场中,许多投资者都怀揣着快速盈利的梦想,但实际操作中往往面临诸多挑战。本文将系统介绍一套完整的股票交易策略框架,帮助投资者建立科学的投资体系,同时强调风…

2026/7/16 9:30:39

Python数据分析实战:Numpy、Pandas、Matplotlib完整工作流指南

还记得第一次面对一堆销售数据、用户行为日志或业务报表时,那种无从下手的感觉吗?你可能听说过 Python 数据分析很强大,也知道 Numpy、Pandas、Matplotlib 这些名字,但真正要自己动手时,却发现光是安装环境、理解各种函…

2026/7/16 9:25:38

AD高效设计:一键导入与分类管理原理图库PCB库实战指南

1. 为什么需要分类管理的原理图库和PCB库? 刚入行那会儿,我最头疼的就是每次画板子都要重复找元器件封装。有一次赶项目,画个STM32的最小系统板,光是找QFP-100封装就花了半小时,更别提那些电阻电容的封装匹配问题了。后…

2026/7/15 17:04:06

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&#…

2026/7/15 22:21:34

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境随着新能源汽车行业的快速发展,充电通信协议的标准化和测试验证变得尤为重要。GB/T 27930-2023作为中国智能充电协议的最新版本,对充电机与电动汽车之间的通信提出了更严格…

2026/7/15 23:18:22

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 还在为Linux系统无法识别RTL8852BE Wi-Fi 6网卡而烦恼吗?&#x1f…

2026/7/16 0:04:06

AD9215BRUZRL7-105是一款工业 10bit 流水线模数转换器

型号介绍AD9215BRUZRL7-105 是一款10 位单通道高速流水线模数转换器,它采用模拟单电源独立供电 数字驱动分离供电双电源架构,模拟电源 AVDD 额定 3V,允许工作区间 2.7V~3.3V;数字驱动电源 DRV 独立设计,支持 2.25V~3.…

2026/7/16 0:04:06

LTC4418IUF#TRPBF是一款工业级双通道控制器

型号介绍LTC4418IUF#TRPBF 是一款工业级双通道电源路径控制器,它芯片采用 20 引脚 4mm4mm QFN 封装,底部附带外露散热焊盘作为 21 号 GND 引脚,热阻 θJA 为 47℃/W、θJC 仅 4.5℃/W,散热性能适配大功率切换场景;温区…

2026/7/16 0:04:06

uos-exporter核心组件解析:10个关键监控导出器功能详解

uos-exporter核心组件解析:10个关键监控导出器功能详解 【免费下载链接】uos-exporter uos-exporter collects metrics from os 项目地址: https://gitcode.com/openeuler/uos-exporter 前往项目官网免费下载:https://ar.openeuler.org/ar/ uos-…

2026/7/15 13:36:32

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…