11 2024 档案
摘要:与 @Zelotz duel,苦战 129min AC。 思路 (本文中默认字符的大小顺序为:) 首先发现不关心最后两个数是否合法,将前 个位置变得递增是容易的。具体的,对于每一个位置 ,在最终的序列中的值记为 ,
阅读全文
摘要:来个另类解。 思路 手玩一下样例,发现减法只会用在正数上,加法只会用在负数上,大概是因为如何在负数上用了减法或在正数上用了加法,都需要额外的次数去消掉。 然后注意到在两个正数中间包这的所有负数可以直接缩成一个数,两个负数中间包着的所有正数也可以直接缩成一个数。那么现在的序列就变成了一个正负相间的序列
阅读全文
摘要:思路 首先考虑 Easy Version 没有修改的做法。记 表示颜色 第一次和最后一次出现的位置,若想颜色 不变,必须使得 区间所有不为 的点都要变,但是可以中间有一个点的颜色为 ,满足 \(r_x
阅读全文
摘要:@hzjoiineg 为什么是神? 思路 首先将 中 A 的数量不等于 的情况判掉。 然后将 划分为 ABAB... 和 BABA... 的若干段,对于长度为奇数的段构造方案只能是如下构成:A 开头为例):AB 和 BA 共 \(\lfloor \
阅读全文
摘要:思路 注意到第二个条件和第三个条件本质相似,可以用相同的维护方式处理,因此这个只讨论第二个条件的维护方式。 定义 表示走到 的最少步数。第一个条件的转移显然为 。 对于第二个条件, 能向
阅读全文
摘要:思路 首先答案上界为 ,因为每本书操作一次一定能使得书架整齐。 因此考虑计算有多少本书能不操作,定义 表示以 为开头的后缀中,最多能保留多少本书不动。答案显然为 ,考虑转移: 如果 位置选择操作,显然有 \(dp_i \le
阅读全文