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

20250718-FDU-HDUOJ钉耙编程一

前言

喜提倒一

正文

10. 中位数

题意

给出长 nnn 的排列 a1,a2,...,ana_1,a_2,...,a_na1,a2,...,an。求 ∑1≤l≤r≤n[(r−l)≡0mod2]⋅l⋅r⋅p(a[l,...,r])\sum_{1\le l\le r\le n}[(r-l)\equiv0\mod2]\cdot l\cdot r\cdot p(a[l,...,r])1lrn[(rl)0mod2]lrp(a[l,...,r]),其中 p(a)p(a)p(a) 表示序列 aaa 的中位数。

做法

听说 O(Tn2log⁡n)O(Tn^2\log n)O(Tn2logn) 能卡常卡过去,但是没试成功,一个做法是对顶堆,另一个做法是树状数组上的倍增。需注意倍增只能求一定条件下的最大值,所以我们求不符合条件的最大值再加一。

正解是 O(Tn2)O(Tn^2)O(Tn2)。就是枚举中位数,然后其他数字中我们只关心它和中位数的相对大小,所以记比中位数小的为 −1-11,比中位数大的为 111,然后求其前缀和 sumsumsuma[l,r]a[l,r]a[l,r] 成立当且仅当 suml−1=sumrsum_{l-1}=sum_rsuml1=sumr

代码

HUDOJ 提交记录

paste

http://www.dtcms.com/a/286127.html

相关文章:

  • 商汤将发布日日新6.5大模型及具身智能平台该咋看?
  • 五大开源OCR开源框架评估01-Tesseract:OCR 领域的远古巨神
  • 前端权限控制:深入理解与实现RBAC模型
  • Maven 配置文件核心配置:本地仓库、镜像与 JDK 版本
  • python学智能算法(二十四)|SVM-最优化几何距离的理解
  • Java并发编程痛点解析:从底层原理到实战解决方案
  • [3-02-03].第03章:编程模式 - 阻塞式编程与响应式编程对比
  • Python爬虫入门到实战(3)-对网页进行操作
  • 用AME获取免费SSL证书
  • 免费PDF文件格式转换工具
  • LeafletJS 与 React:构建现代地图应用
  • leetcode2_135.分发糖果
  • 信息安全性测试:渗透测试、漏洞扫描与代码审计全解析
  • 基于ECDH的隐私求交(PSI)技术发展历程
  • 进阶向:智能图像增强系统
  • 项目优化之开机自启动
  • kubernetes pod 深度解析
  • 持续同调文章阅读(四)
  • Selenium 攻略:从元素操作到 WebDriver 实战
  • 基于Spring Boot的农村农产品销售系统设计与实现
  • SGLang 推理框架深度解析:请求的调度与生命周期
  • 客户知识共享门户的核心价值:提升效率与客户体验
  • 网页的性能优化,以及具体的应用场景
  • 安卓页面卡顿测试方案详解
  • FLTK UI窗口关闭时延时卡顿问题全流程分析与优化实战
  • pip用国内的源 + Hugging Face 官方国内镜像
  • 基于华为openEuler系统安装DailyNotes个人笔记管理工具
  • LP-MSPM0G3507学习--03时钟配置
  • 如何阅读Spring源码
  • 脚手架本地link标准流程