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

Codeforces Round 1063 (Div.2) 题解

赛时分析

Solved 3/6 rank 875。AB做的正常,C略慢。想直接跳D2,但是D2用到了D1的一个性质,其实不如直接先做D1就是大分了...
比赛链接:https://codeforces.com/contest/2163

A

直接sort,如果每个偶数i时,$ a_i = a_i+1$,用1-based index,那么即可达成目标,否则不能。
时间复杂度: \(O(n \log n)\)

B

观察到几个小性质:

  1. 最左最右如果为1即刻失败,因为没有合法l<i<r来让让他为1。
  2. 我们可以忽略为0的,因为他们没有要求。
  3. 当1或者n对应的\(s_i=0\)时,立刻失败,因为没有合法数字能让它变为1。
    数据给了提示,只用5次操作。那么一次肯定是用于1到n,让这个区间所有1都达到要求。然后考虑这个区间以外的,也就是找到区间外最左1的左边,让1和前缀最大做一次操作,n和前缀最小做一次操作。区间外右侧同理,这样刚好5次操作。
    然后检查数据,是否有没有达到要求构造到1的,如果有就失败。
    时间复杂度 \(O(n)\)/

C

可以发现总共有n条右下的路径,其中在i列往下走的路径里,用到了a[0][0...i]和a[1][i...n-1]的数字。那么对于每个路径,我们可以预处理得到让这个路径能走的最小l和最大r的组合。只需要计算a[0][i]的前缀最大最小,和a[1][i]的后缀最大最小,然后取前后缀最大的较小值,前后缀最小的较大值。这就是一个[l,r]计算好了, 对于每一个l_i<=l并且r_i>=r,这个路径都是可以走的。
接下来考虑每个l从1到2n,然后考虑最小的可以走完路径的r。做法就是把预处理好的[l,r]按照l,r从小到大排序。然后用一个线段树,在\(r_i\)的地方+1,这样选定一个l,就可以二分找最左的1,定为r,那么所有>r的右端点也可以取,就是2n-x+1个。
然后当我们目前考虑的l超过存储的[l,r]中的r,在线段树中对\(r_i\)的位置-1即可。
时间复杂度\(O(n{\log}^2 n)\)

D1

几个可以观察的点:

  1. 当一个区间被另一个区间完全包括时,MEX<=包括它的区间MEX,因此我们可以删除所有被包含的区间,因为对取最大值没有贡献。显然存在最多n个有效区间。
    可以观察到当一个区间没有0存在,\(\operatorname{MEX}([p_{l}, p_{l+1}, \ldots, p_{r}])=0\)。所以可以求一次左半区的MEX,如果为0,说明0在右侧,反之在左侧。所以在0异侧的区间没有query的意义。我们只剩下\(\lceil\frac{n}{2}\rceil\)个区间了,然后对其进行一个个查询即可。
    最后总共需要的查询次数为\(\lceil\frac{n}{2}\rceil + 1\)
    时间复杂度\(O(q\log q + n)\),因为对所有区间先排序再进行的删除。

D2

还没补,题解先欠着。

http://www.jsqmd.com/news/37625/

相关文章:

  • SI502、SI502B——NFC前端芯片
  • 草稿5
  • 1-2-3-泛型与反射
  • 读书笔记:白话解读:Oracle并行加载与空间管理的艺术
  • 1-2-4-集合框架
  • 1-3-1-知识图谱
  • USB --- PD协商
  • T690363 促销活动
  • 1-3-2-线程生命周期与状态转换
  • 1-2-2-异常体系
  • 1-5-1-设计模式与OOP
  • 1-6-0-总纲
  • 1-6-2-网络协议基础
  • 1-3-5-AQS详解
  • 起飞啦,太easy啦!!!小白的神级AI辅助工具,一句话即可搭建超50个节点的工作流~~~~
  • 3-1-1-2-MySQL锁机制
  • Debug日志
  • 3-1-1-4-ACID特性底层原理
  • 1-6-5-Netty
  • 2025年11月北京离婚房产律师对比榜:五强机构多维评测
  • 3-1-2-1-MySQL整体架构详解
  • 3-1-2-2-MySQL分页查询机制
  • 3-1-2-3-MySQL高可用与容灾
  • 打印文件怎么居中,占整个页面
  • 3-1-0-MySQL知识总览
  • AT AGC043D Merge Triplets 题解
  • 4-1-2-Kafka-Broker-log
  • SqlSugar 在linux环境下连接sqlserver数据库报错SSL出错,因为升级了驱动,字符串增加Encrypt=True;TrustServerCertificate=True;
  • 2025年11月GPU服务器公司排名:五强技术方案与落地案例对比
  • 【JMeter】命令行方式使用 - 谷粒