AtCoder Regular Contest 206 (Div. 2) 部分题解

news/2025/9/22 0:20:41/文章来源:https://www.cnblogs.com/-cchen-/p/19104399

AtCoder Regular Contest 206 (Div. 2) 部分题解

A - Range Replace

我们发现,若 \(a_i=a_{i+1}\) 则将操作左端点放在 \(i\)\(i+1\) 是等价的,为了不重复,我们强制所有操作左端点都要放在 \(i\) 使得 \(a_i\not ={a_{i-1}}\) ,即所有值相同的连续段的最左边。

固定左端点看右端点,若 \(a_L=a_R\) ,则和操作 \((L,R-1)\) 是等价的(因为 \(a_R\) 改不改都一样),按照最小原则,这种操作我们不要。

总结一下,左端点要求 \(a_L\not ={a_{L-1}}\) ,右端点要求 \(a_L\not ={a_R}\) ,这样所有的操作得到的序列都不一样,计算这个是容易的,枚举 \(a_i\) 的值就可以了。

B - Slime Swap

冒泡排序所有的逆序对最终都需要做交换,若逆序对两位置颜色相同,则需要做更改。

澄清一个事实,假定我们选择了一些位置,这些位置做更改,则一定存在一种改颜色的方案使得最终能排好序。

因此我们要选最优的一些位置使得这些位置价值和最小。

颜色相同的位置需要考虑,枚举颜色单独拉出来,对于一个子序列,我们选择一些位置删除,使得剩余的位置单调上升(若还有逆序对则还需要更改),那很明显最优是保留 LIS 的那些位置。

于是对每个颜色,求其序列的 LIS ,就能计算答案了。

C - Tree Sequence

考虑 \(r=l+1\) 的区间。若这个区间成立则必然有 \(a_l=l+1\)\(a_r=r-1\)

对于一个区间 \((l,l+1)\) ,若 \(a_l\not ={a_{l+1}}\) ,则必然有 \(a_{l+1}=l\) ,那再往后递进,\(a_{l+1}\not ={l+2}, a_{l+2}=l+1 \cdots\)

以此类推,我们发现,若某个位置有 \(a_i\not ={i+1}\) 则对于 \(x>i\) 必然有 \(a_x=x-1\)

那么我们尝试观察这个性质下这个序列长什么样子,最开始一段前缀,有 \(a_i=i+1\) ,直到出现一个位置 \(a_l\not ={l+1}\) ,那么往后的后缀,都有 \(a_x=x-1\) 。即,只有一个位置满足 \(a_i\not ={i+1}\) ,对于 \([1,i-1],a_x=x+1\),对于 \([i+1,n],a_x={x-1}\)

那么我们枚举这个出现异常的点的位置,再判断一下前后缀是否存在方案填成这种形式,那么前后缀不造成贡献,只有这个位置造成贡献,若这个位置已经有值,则判断一下,若没有值,则任意填一个不是 \(i+1\) 的数。

注意 \(i=n\) 要特判一下。

D - LIS ∩ LDS

很好的分讨,让我大脑旋转。

对于 \(n=1\) ,只有 \(k=1\) 可以。

对于 \(n=2\) ,只有 \(k=2\) 可以。

对于 \(n > 3\) 的情况:

  • \(k \geq 2\) 必然有解:
    • 构造 \(\{1,2,3,\cdots,n-k,n,n-1,n-2,\cdots,n-k+1\}\) ,LDS 为一个后缀,LIS 为前缀加 LDS 后缀的随便一个。
  • \(k=1\)\(n \geq 5\) 后有解:
    • 有构造 \(\{2,5,3,1,4\}\) ,更大的 \(n\) 只需要把 \(\{n,n-1,\cdots,6\}\) 插在最开头就可以。
  • \(k=0\)\(n \geq 8\) 后有解:
    • 有构造 \(\{3,4,8,7,2,1,5,6\}\) ,更大的 \(n\)\(\{n,n-1,\cdots,9\}\) 插在最前面。

具体怎么发现的呢?挂了两发打表看出来的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/909159.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Grafana 和 Openssh 高危漏洞修复

本次漏洞扫描,扫描到的高危漏洞涉及Grafana和Openssh,其中Grafana发现漏洞有(CVE-2023-3128、CVE-2022-23498、CVE-2023-4822、CVE-2024-1442),Openssh的漏洞有(CVE-2023-38408、CVE-2020-15778、CVE-2020-12062…

学习日报(补发)

时间:600min 搏客量:1 内容: 一、今日核心工作 今日的主要工作是成功在 Hadoop 集群环境中启动 Hive Metastore 服务,为后续的数据仓库操作和 HiveServer2 连接提供元数据管理支持。 二、工作执行详情 在 node1 节…

Influxdb 得模糊查询总结

InfluxDB 模糊查询完整总结与示例(修正版) 📊 查询方式全面总结(InfluxQL) 1. 精确匹配(最佳性能) -- 单值精确匹配 WHERE routername = NJ-MAIPU-1-- 多值精确匹配(使用OR) WHERE routername = NJ-MAIPU-1 …

多表关系和多表查询

多表关系和多表查询 1.0 一对多 表与表之间也存在关系,有一对一,一对多,多对多三种,比如部门表中的一个部门,对应着员工表中的多个员工 ,这就是一对多的关系,我们将多的一方称作子表,比如上面的员工表,一的一…

【反比例函数】【做题笔记】【图形存在性】题目合集

【反比例函数】【做题笔记】【图形存在性】题目合集 1.(2023 秋盐城月考) 如图,点 \(A\) 在双曲线 \(y=\frac{k}{x} \ (k \neq 0)\) 的第一象限的图象上,\(AB\) 垂直于 \(y\) 轴于点 \(B\),点 \(C\) 在 \(x\) 轴的…

20250920 嘉定江桥---江苏吴江区太湖 往返160KM骑行小记

20250920 嘉定江桥<--->江苏吴江区太湖 往返160KM骑行小记历时14小时, 完成了这次160km的骑行, 解锁新地标太湖, 也创造了我的个人单次骑行距离的纪录.从嘉定江桥出发, 沿北青公路向西骑行26KM直到尽头, 就可以出…

工作队列(Work Queues)与消息确认(Ack)

本章目标理解工作队列(竞争消费者模式)的概念和适用场景。掌握消息确认(Acknowledgment)机制,实现可靠的消息处理。学习消息持久化(Durability),防止服务器重启导致消息丢失。使用公平分发(Fair Dispatch)来…

React18新增的hook useId

useId 首先要理解SSR时,服务端和客户端的水合 服务端会生成一个HTML模版,和JS一起发给客户端,然后客户端的JS来“水合”HTML中的内容,转为可交互的组件。而官方文档中所说的“客户端组件被激活处理后的顺序可能与服…

十年架构演进史:从臃肿war包到云原生,我们终于解放了!

十年架构演进史:从臃肿war包到云原生,我们终于解放了!单体到微服务架构服务演化过程大家好,欢迎来到程序视点!我是你们的老朋友.安戈! 前言 各位技术人,不知道你们是否和我一样,每次打开一个老项目的代码仓库,…

week1作业

在 Java 中,我本学期主要遵循的编码规范如下: 类名我采用大驼峰命名法,每个单词的首字母大写,例如StudentInfo 、UserService。 方法名我采用小驼峰命名法,首单词首字母小写,其余单词首字母大写,如getStudentNa…

6-5 汇聚层

本章主要介绍汇聚层相关原理和实现1.最大汇聚层和平均汇聚层 import torch from torch import nn from d2l import torch as d2ldef pool2d(X, pool_size, mode=max):p_h, p_w = pool_sizeY = torch.zeros((X.shape[0]…

从IpadOS 26 Beta版切换成IpadOS 26 正式版

设置 - 通用 - 软件更新 - Beta版更新点击上图中的Beta版更新,进入如下图所示菜单,选择关闭返回至软件更新页面,点击IpadOS 26进行安装

2025.9.21总结

今天继续梳理已学习过的知识和学习路线。 对于已有技术,web开发,安卓开发而言。光凭借这些技术对于找到一份工作而言还是比较困难的。 而大三暑假的时候最长差不多能放出去半年的时间,也就是需要在寒假把简历打磨好…

6-4 多输入多输出通道

本章主要介绍通道多输入和多输出1.多输入通道 import torch from d2l import torch as d2l def corr2d_multi_in(X, K):# 先遍历 X 和 K 的第0个维度(通道维度),再把他们加在一起# 把所有配对得到的互相关结果逐元素…

6-6 卷积神经网络LeNet

本章主要介绍卷积神经网络LeNet的实现1.LeNet import torch from torch import nn from d2l import torch as d2lnet = nn.Sequential(nn.Conv2d(1, 6, kernel_size=5, padding=2), nn.Sigmoid(),nn.AvgPool2d(kernel_…

5-5读写文件

本章主要介绍将训练后的数据保存到文件中1.加载和保存张量 import torch from torch import nn from torch.nn import functional as Fx = torch.arange(4) # 把 Python 对象 x 打包成字节流,原封不动地写进文件 x-fi…

6-2图像卷积

本章主要介绍二维卷积和图像卷积的计算1.二维卷积计算 import torch from torch import nn from d2l import torch as d2l定义二维卷积函数 def corr2d(X, K):计算二维互相关运算h, w = K.shapeY = torch.zeros((X.sha…

二叉树的高度和判断平衡二叉树

LCR 176. 判断是否为平衡二叉树 利用递归得出结果,平衡二叉树成立的条件:左子树和右子树之差的绝对值小于等于 1,也就是当左子树高度 - 右子树高度的差值等于 0或者等于1的时候该平衡二叉树成立。 那么我们可以利用…

20250921 之所思 - 人生如梦

20250921 之所思一大早就收到老板要求每天晚上十点开会的信息,顿时心情很糟,因为晚上十点开会,开完就已经接近十二点,很害怕自己会彻夜难眠,然后起床就一直在想这件事,顿时整个早上的心情都受到了影响。还为这个…

UE5 Cook数据结构

UE Cook 数据结构 本篇讲非 MPCook 的数据结构1. FPackageDatas核心类 FPackageDatas 是管理 CookOnTheFlyServer 里的所有 PackageData 的列表的类。PackageDatas 是一个关联数组,存储 COTFS 需要的 package(如 coo…