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

P11096 体育课 top51goc CSP2025模拟第二次第二题题解​ ​


———————————————————————————————

题面如上

大体意思就是:

nnn个元素,你可以选择lllrrr两个位置(1≤l≤r≤n1\leq l\leq r\leq n1lrn),在这两个位置所构成的区间内(l≤i≤rl\leq i\leq rlir)的所有元素将从左往右升序排序,然后求每两个元素排序后的最大距离的和

由于(1≤l≤30001\leq l\leq 30001l3000)
我们只需要双重循环两两遍历时,将找iiijjj两个人的最大距离的时间复杂度降到O(1)O(1)O(1)

试想以下思路:

第一种排序情况便是将所有元素都选中,此时两者的距离变为 ∣p[i]−p[j]∣|p[i]-p[j]|p[i]p[j]但是这并不一定的最优情况。

所以又有以下两种

对于iii这个人来说,要与jjj的距离更远,由于(i≤ji\leq jij)就要让更多的元素到 (i+1)∼(j−1)(i+1) \sim (j-1)(i+1)(j1)的这个区间,所以让1∼i1\sim i1i的元素都选中(l=1,r=i)(l=1,r=i)(l=1,r=i)参与排序,通过升序排序把前面比他大的元素到(i+1)∼(j−1)(i+1) \sim (j-1)(i+1)(j1)这个区间里,而这样,他远离jjj的距离就是原本在 1∼(i−1)1\sim (i-1)1(i1) 区间之内的比他大的数的个数

反之对于jjj这个人来说,要与iii的距离更远,由于(j≥ij\geq iji),所以让更多的元素到&(i+1) \sim (j-1)&的这个区间,所以让j∼nj\sim njn这个区间里的所有元素都选中(l=j,r=n)(l=j,r=n)(l=j,r=n)都参与排序,升序排序会将它原本后面小于它的元素排到他的前面,而这样他远离iii的距离就是原本在 (j+1)∼n(j+1)\sim n(j+1)n区间之内比他小的元素的个数

而每两个人之间的最大距离就是这三种情况里的最优解

为了O(1)O(1)O(1)查询1∼(i−1)1\sim (i-1)1(i1)(j+1)∼n(j+1)\sim n(j+1)n这两个区间里的符合条件的元素个数

我们使用两个标记数组来预处理1∼(i−1)1\sim (i-1)1(i1) 区间之内的比p[i]p[i]p[i]大的数的个数

(j+1)∼n(j+1)\sim n(j+1)n区间之内比p[j]p[j]p[j]小的元素的个数

预处理大概框架(伪代码)

for i 1 n
{for j 1 i-1if p[j] > p[i]cnt1[i] + 1for j i + 1 nif p[j] < p[i]cnt2[i] + 1
}

最后就是求和了

在 排序1∼i1\sim i1i这个区间 和 排序 j∼nj\sim njn这个区间 取最优解 再加上原本jjjiii的距离

也就是maxmaxmax(1∼(i−1)1\sim (i-1)1(i1) 区间之内的比p[i]p[i]p[i]大的数的个数,(j+1)∼n(j+1)\sim n(j+1)n区间之内比p[j]p[j]p[j]小的元素的个数) 再加上原本jjjiii的距离

也就是max(cnt1[i],cnt2[j])+(j−i)max(cnt1[i],cnt2[j])~+~(j-i)max(cnt1[i],cnt2[j]) + (ji)

还要和将所有元素都选中的这种情况进行最优解比较

也就是max(max(cnt1[i],cnt2[j])+(j−i),∣p[i]−p[j]∣)max(max(cnt1[i],cnt2[j])~+~(j-i)~,~|p[i]-p[j]|)max(max(cnt1[i],cnt2[j]) + (ji) , p[i]p[j])

求和大概框架(伪代码)

for i 1 n-1
{for j i+1 n{//为了方便书写// 定义一个temp保存1、2两种情况的最优解temp = max(cnt1[i], cnt2[j]) + (j - i)temp = max(temp, abs(p[i] - p[j])) //与全选的情况最优解比较ans + temp }
}

code ↓

click it

ThankyouforwatchingThank~you~for~watchingThank you for watching

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

相关文章:

  • Structured Output Parser in LangChain
  • 解释性语言和编译型语言的区别与不同 | 深入了解两者的特点与应用
  • asp网站镜像代码网站建设分金手指专业十六
  • 建设一个网站首先需要什么滕州做网站哪家好
  • 多场景服务机器人代理品牌深度解析
  • 建设网站答辩情况wordpress 搜索 范围
  • “干活”机器人“教练”登场:宇树机器人推出首款轮式机器人G1-D
  • 素马网站制作开发天猫交易购买平台
  • 增强AI编程助手效能:使用开源Litho(deepwiki-rs)深度上下文赋能iFlow
  • 郑州网站建设找三牛天津建设工程信息网评标专家 终审
  • LTE和5G NR中的PDSCH和PUSCH
  • 【HarmonyOS 6】静态和动态添加应用快捷方式详解
  • 手机网站模板更换方法设计上海网站建设
  • 手机网站竞价莆田外贸自建网站
  • 让设备 “开口说话”:设备间通信艺术与以太网温湿度传感器通信实现
  • 宝安做小程序有推荐吗wordpress 百度优化
  • HTML 页面跳转实现
  • 网站登录注册做验证码的目地开一家公司需要具备什么条件
  • CS8389、CS8390:防破音,AB/D,2×6.6W立体音频功率放大器
  • 精耕“智”作,中海达携农机导航亮相AGRITECHNICA 2025!
  • css文件中这个[特殊字符]读取出来是乱码
  • 做网站的原型文件下载wordpress购物app
  • 磁共振成像原理(理论)30:基本自旋回波成像 (Basic Spin-Echo Imaging)
  • 为什么 AI 推理天然更偏向 ARM(而不是 x86)
  • 广州网站建设哪里有国家信息公示网查营业执照年报
  • 网站 需求文档益阳市网站建设
  • 基于数据的人工智能建模流程及源码示例
  • 站长之家爱站网f006网站建设
  • 中国建设银行网上银行官方网站wordpress 隐私设置
  • 4网站建设软件工程师证书报考条件