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

洛谷-P14538 [OII 2025] 市政委员会 / Giunta comunale 题解

Solution

考虑分治,并不断缩小答案的查找范围。维护当前下标集合III和它对应的数值集合V={ai∣i∈I}V=\{a_i|i\in I\}V={aiiI}

将当前范围分成左右两半,下标集合分别为IlI_lIlIrI_rIr。先处理出所有在左边出现过的数VlV_lVl

此时如果∣Il∣>∣Vl∣|I_l|>|V_l|Il>Vl,说明答案在左侧,向左递归。否则判断VlV_lVl中的每个数是否在右侧出现过。如果有则找到答案。否则向右递归。

发现这样询问次数上界为2N+N+N2+N4+⋯=4N2N+N+\frac{N}{2}+\frac{N}{4}+\dots=4N2N+N+2N+4N+=4N,需要优化。

注意到如果最终向左递归,则询问∣Il∣|I_l|Il次。否则询问2∣Il∣2|I_l|2∣Il次。因此我们希望多一些向左递归。考虑平衡询问数和层数,让左边分到k⋅∣I∣k\cdot |I|kI个下标。

实验法得知,k=0.62k=0.62k=0.62时刚好通过本题。

Code

#include<bits/stdc++.h>#definerep(i,a,b)for(inti(a);i<b;++i)#definerept(i,a,b)for(inti(a);i<=b;++i)#defineebemplace_backusingnamespacestd;boolchiedi(vector<int>S,intx);intcalc(vector<int>id,vector<int>val){intmid=max(1,int(id.size()*0.62));vector<int>lId,rId,lVal,rVal;rep(i,0,mid)lId.eb(id[i]);rep(i,mid,id.size())rId.eb(id[i]);for(intx:val){if(chiedi(lId,x))lVal.eb(x);elserVal.eb(x);}if(lId.size()>lVal.size())returncalc(lId,lVal);for(intx:lVal)if(chiedi(rId,x))returnx;returncalc(rId,rVal);}intdelibera(intn){vector<int>id,val;rept(i,0,n)id.eb(i);rep(i,0,n)val.eb(i);returncalc(id,val);}
http://www.jsqmd.com/news/669133/

相关文章:

  • SPIRV-Cross内部架构揭秘:理解SPIR-V解析与转换的核心原理
  • 一次表单提交的数据漫游:从指尖到磁盘的完整旅途
  • 高效WebLogic安全检测工具:5步完成专业漏洞扫描实战
  • awesome-engineering-team-management快速入门:5个步骤启动你的管理生涯
  • 2026奇点大会闭门报告首度流出(AGI+区块链协同架构白皮书核心节选)
  • 2026年质量好的双T板屋面板/双T板楼板厂家综合对比分析 - 行业平台推荐
  • MedGemma-X效果展示:生成符合DICOM SR标准的结构化报告草案
  • SCons源码架构分析:理解构建引擎的核心实现原理
  • golang如何在Gin中实现路由分组_golang Gin路由分组实现方法
  • 前端像素UI库!前端复古风选型必看!像素UI 、精简复古风UI 。
  • lite-server终极指南:快速搭建轻量级开发服务器的10个技巧
  • 企业云盘ROI计算:让你的老板心服口服
  • 告别臃肿文档!用Spire.Doc for Python生成Word文件,体积直接减半(附对比Python-docx代码)
  • 为什么92%的AI团队尚未启动情感智能适配?:2026奇点大会闭门报告揭示3层技术断层与21天迁移路径
  • OmenSuperHub终极指南:三步解锁惠普OMEN游戏本隐藏性能
  • 5分钟掌握KMS_VL_ALL_AIO:Windows与Office智能激活终极指南
  • 别再为OpenWrt空间不足发愁了!保姆级教程:用一块闲置U盘给Overlay扩容到几十G
  • OpenUserJS.org 新手快速上手指南:轻松搭建用户脚本平台
  • ECP 工资单权限问题(You don‘t currently have permission to view this content)
  • Autosar Nm-被动唤醒时一帧网管报文是如何发出的?
  • USB主机控制器驱动:一次由枚举超时引发的底层追踪
  • lite-server进阶技巧:7种自定义配置提升开发体验
  • 终极指南:深度解锁NVIDIA隐藏性能,让游戏帧率翻倍不是梦
  • 2025_NIPS_Sheetpedia: A 300K-Spreadsheet Corpus for Spreadsheet Intelligence and LLM Fine-Tuning
  • SAP HCM SCHEMA-001 AMT=*与FILLF功能
  • YOLO12农业AI应用:田间作物病害识别与农机导航目标检测案例
  • 沉默的数据,喧嚣的资本:AI估值泡沫与价值回归的必然逻辑
  • 如何快速上手Ultralytics YOLO:计算机视觉开发的终极指南
  • java之网络编程
  • 算法---滑动窗口