首页 > 其他分享 >Codeforces Round 887 (Div. 2) 题解

Codeforces Round 887 (Div. 2) 题解

时间:2023-08-01 19:58:57浏览次数:43  
标签:887 题解 位置 差分 数组 序列 操作 Div 我们

A. Desorting

题目的核心操作就是选定一个位置 \(i\),使得:

  • 对于所有 \(j\le i\),\(a_j\leftarrow a_j+1\)
  • 对于所有 \(j>i\),\(a_j\leftarrow a_j-1\)

这样一来,操作后 \(a_{i+1}-a_i\) 的值就会 \(-2\)

因为 \(a_{i+1}-a_i<0\) 时,也意味着 \(a_i>a_{i+1}\),所以就达到了要求

那么题目就变成寻找一对相邻的数,使得这两者差最小,然后就可以 \(O(1)\) 求解了

B. Fibonaccharsis

根据题目的解释,一个“类斐波那契数列”\(f\) 保证:

  • \(f_i=f_{i-1}+f_{i-2}\ (i\ge 3)\)

那就设 \(f_1=x,f_2=y\),把 \(i\ge 3\) 的 \(f_i\) 展开一下(记原斐波那契数列为 \(fib\)):

\[f_3=x+y\\ f_4=f_2+f_3=y+x+y=x+2y\\ f_5=f_3+f_4=x+y+x+2y=2x+3y\\ f_6=f_4+f_5=x+2y+2x+3y=3x+5y\\ f_7=f_5+f_6=2x+3y+3x+5y=5x+8y\\ \cdots\\ f_n=fib_{n-2}x+fib_{n-1}y \]

然后枚举 \(x\) 求解即可

C. Natarsis' Set

假设这些数字按递增顺序排列在一条直线上

在某一天之前看看每个数字 \(x\),如果当天它没有被删除,那么它占据了什么新的位置,它之前的位置对它有什么影响?

显然,如果 \(x\) 位于 \(a_i\) 和 \(a_{i+1}\) 之间,它将移动到 \(x-i\) 的新位置,因为在它之前的 \(i\) 个位置已被删除

按照这个规律反向模拟一下就可以求出答案

D. Imbalanced Arrays

首先 我们发现可以从 \((n,-n)\)、\((n-1,-n+1)\)、\(\cdots\)、\((1,-1)\) 每对中选出一个数字来解决问题

其次,我们可以知道 \(a_i>a_j\) 意味着 \(b_i>b_j\)

对于数组 \(b\) 中绝对值最大的数 \(b_i\),我们可以知道 若 \(b_i<0\) 则 \(a_i=0\),若 \(b_i>0\) 则 \(a_i=n\) ,而且对于任何 \(y\) 和 \(z\),我们都不可能有 \(a_y=0\),\(a_z=n\),因为这意味着 \(b_y+b_z\) 既是正数又是负数。因此,检验能否确定数组 \(b\) 中绝对值最大的元素的必要条件和充分条件是(数组 \(a\) 中存在等于 \(0\) 的元素) 或者 (数组 \(a\) 中存在等于 \(n\) 的元素)

我们可以在一开始就对数组 \(a\) 进行排序,我们只需要检查前端和末端,看看我们的关键条件是否成立

E. Ina of the Mountain

首先有一个经典问题就是

每次可以选择一个区间让区间中所有数字加上 \(1\),问至少操作多少次才能让序列 \(a\) 变为 \(b\)

这个问题的解法是构造原序列的差分序列,每次操作等价于任意指定差分序列中的两个位置,让前一个位置加 \(1\),后一个位置减 \(1\),目标是让差分序列相等

本题类似,只不过问题转变到了模意义下,每次操作选择一段减去 \(1\),要求序列中每个数字都变成 \(0\)

我们计算出原序列的差分序列 \(b\)(模意义),此时差分序列中的所有数都是正数

对于每个位置我们可以让其取值 \(b_i\)(正数),或者 \(b_i-k\)(负数),我们要求最终的序列必须满足任意前缀和都不低于 \(0\)(因为在差分序列上操作时 \(-1\) 操作在更前的位置),最终的目标是要求取值 \(b_i\)(正数)的所有数之和最小

继续探究,我们发现每个数字 \(b_i\) 变成 \(b_i-k\) 后会让前缀和减去 \(k\),所有当前缀和为 \(s\) 时,我们最多可以取其中 \(\lfloor\frac{s}{k}\rfloor\) 个数变为 \(b_i-k\)

考虑如下的反悔贪心,对于前 \(i\) 个位置,不妨设我们已经维护了当前选了哪些位置变为 \(b_i-k\)

目前到了第 \(i+1\) 个位置,如果 \(\lfloor\frac{s}{k}\rfloor\) 变大,那么我们可以直接选择当前的 \(b_i\) 变为 \(b_i-k\)

否则我们到之前已经选的数中看看没有小于当前的 \(b_i\) 的数,如果有就替换掉

不难看出选择的数越在后面越好,所以以上的操作一定能得到前 \(i+1\) 个位置的最优答案

可以证明该算法正确

F. Miriany and Matchstick

考虑 DP,令 \(f_{i,c,j}\) 表示,填了第二行的前 \(i\) 个位置,\(i\) 处的字符是 A / B,填有不同字符的相邻位置是否能有 \(j\) 对,转移时间复杂度 \(O(n^2)\) 或 \(O(\frac{n^2}{w})\)

打个表,发现 \(\forall i\in [1,n],c\in[0,1]\),满足 \(f_{i,c,0},f_{i,c,1},\cdots\) 构成的 0/1 串中,所有 \(1\) 几乎构成一个连续段,中间缺至多一个位置(比如 000101110000101110),那么三元组 \((p,l,r) \) 即可表示一个状态,其中 \(p\) 表示缺的位置(特别的,若不缺则 \(p=−1\)),\([l,r]\) 表示最左 / 最右侧 \(1\) 的位置

转移需要分讨四种情况,时间复杂度线性

标签:887,题解,位置,差分,数组,序列,操作,Div,我们
From: https://www.cnblogs.com/cantorsort2919/p/17598881.html

相关文章

  • Educational Codeforces Round 152 (Rated for Div. 2) D. Array Painting
    初始所有点都是蓝色的,给定一个数组,每个元素为0,1,2等值,两种操作,选定一个点花1元变红,或者选定一个为1或者2的红色点,减去一个价值,让周围的点变红,最后所有点都要变红思路:贪心,对于一个数组来说我们找寻连续的不等于0的一段,判断每一段最多所能变红的存在两种情况010,这种情况花1可以最......
  • Educational Codeforces Round 152 (Rated for Div. 2) C. Binary String Copying
    题目大意为给定一个01字符串,给定m个区间,对于每个区间进行一次局部排序,求能得到的字符串种类数解法:因为字符串只包含0,1两个字符,我们观察可以得到,对于不同的区间来说如果排序后一样则说明肯定是某些位置在排序过程中无贡献,因此我们只需找出有贡献的位置即可对于一个区间[l,r],来说......
  • RTSP流媒体服务器LntonNVR(源码版)平台硬件设备拔电关闭后不能自动重启的问题解决方案
    LntonNVR视频边缘计算网关可以放置在项目现场,7x24小时不间断使用,通电联网即可成功运行,部署操作十分简单。我们在测试时,将LntonNVR注册到服务启动,拔掉硬件设备的电源后,再次恢复供电,发现LntonNVR服务并没有再次启动。对此我们也进行了分析与排查。排查步骤如下:1、首先检查是否已经......
  • 【题解】Luogu[P2420] 让我们异或吧
    Link看到是树,又多组询问,立马想到类似的求和问题,异或不好理解,我们想求和怎么做,维护\(dis_i\)表示\(i\)节点到根的权值和,那么对于\(u,v\)两点路径上的权值和就是\(dis_u+dis_v-2\timesdis_{\mathrm{lca}(u,v)}\),这是很经典的问题了。事实上刚才的求和我们可以转化一下,我们......
  • 国标GB28181视频平台LntonGBS(源码版)国标平台出现报错“缺失dll文件”的问题解决方案
    LntonGBS是基于国标GB28181协议的视频云服务平台,它可以支持国标协议的设备接入,在视频能力上能实现直播、录像存储、检索与回放、云台控制、告警上报、语音对讲、平台级联等功能,既能作为业务平台使用,也能作为能力层平台调用。技术人员在用户服务器部署LntonGBS平台,提示缺失某个dll文......
  • P2216 理想的正方形 题解
    P2216理想的正方形(为什么要写这篇题解?因为我β搞的心态炸了)食用此题解所需:有基础的双端队列知识与一只可爱的\(C++\)传送门:起飞!1.思考嗯,一看数据范围,\(a,b\leq1,000\),就知道这道题一定是一道\(\operatorname{O}(ab)\)的题(因为输入就已经达到\(100,000\)级别了,就算......
  • 国标GB28181视频平台LntonGBS(源码版)国标视频平台大屏播放时出现数据未推送的问题解决
    LntonGBS平台实现视频直播、转码与分发、平台级联、云台控制等,拥有灵活丰富的视频能力。平台基于云边端一体化架构,在很多场景中均有落地项目应用,如智慧工地、智慧安防、智慧工厂、智慧园区等。近期有用户反馈其定制版LntonGBS平台现场播放24路上大屏时有部分通道存在30秒左右出现未......
  • P9481 [NOI2023] 贸易 题解
    题目链接题目要求我们求出任意两点间最短路径之和,由于图比较特殊,除树边外只有祖先到其子树内的边,我们首先考虑最短路径有没有什么特殊性质。注意到两点之间的最短路分为一下三种:节点到其祖先的最短路:直接沿着树边向上走即可,否则一定会走多余的边,不是最优。节点到其子树的......
  • Codeforces Round 888 (Div. 3)
    比赛链接:https://codeforces.com/contest/1851A.EscalatorConversations题意:一个扶梯,共m阶,n人站,每个台阶高k,Vlad身高H,Vlad任意站,问有多少人站在这个扶梯上正好和Vlad齐平满足abs(H-h[i])%k==0&&abs(H-h[i])/k<=m-1&&H!=h[i]即可B.ParitySort题意:给出......
  • 题解 [NOI2020] 命运
    Link题意给定一棵\(n\)个节点的有根树和\(m\)条祖先到后代的链。问有多少种把边权设置为\(0\)或\(1\)的方案使得每条链上至少有一条边是\(1\)。答案对\(998244353\)取模。\(1\leqn,m\leq5\times10^5\)题解我们将链的下端称为限制的起点。容易发现,对于同一......