题解:SP13105 MUTDNA - DNA

第二种操作是从 $1$ 开始修改的,也就是修改一段前缀,考虑递推。由于操作可逆,所以我们可以转换为将读入的串变为全 A 串所需的最小变换次数。 设 $f_{i,0}$ 表示前 $i$ 个字符均为 A 时的最小变换次数,设 $f_{i,1}$ 表示前 ...

Solution

题解:P7914 [CSP-S 2021] 括号序列

这是一道区间 dp,思维难度与实现难度都不小,主要的瓶颈在于如何不重不漏地转移(这要求仔细地读题)。 和题目一样,A 表示一个符合规范的超级括号序列,S 表示任意一个仅由不超过 $k$ 个字符 * 组成的非空字符串,即 *...*。以下就不再赘述字符...

Solution

题解:UVA1630 串折叠 Folding

本题是 P4302 [SCOI2003]字符串折叠 的强化版。 不难看出这是一个区间 dp,令 dp[i][j] 表示区间 $[l,r]$ 的最小长度。考虑两种操作: 合并两个小区间后变为一个大区间 将某个区间进行折叠 第一个操作,显然就是区...

Solution

题解:CF1701D Permutation Restoration

$\forall b_i = \lfloor \dfrac{i}{a_i} \rfloor$,等价于 $a_ib_i \le i < a_i(b_i + 1)$,所以有 $\dfrac{i}{b_i + 1} < a_i \le \df...

Solution

题解:CF1702F Equate Multisets

对于一个 $a_i$ 若可以表示成 $k \times 2^p$ 的形式,那一定可以由 $k$ 进行若干次第一个乘 $2$ 的操作得到。所以我们将所有的 $a_i$ 预处理,使其变成奇数。然后使用 map <int,int> p 统计 $...

Solution

题解:CF1702C Train and Queries

若干个车站被停靠若干次,第 $i$ 次停靠的站点为 $j$,设 $\forall j \in n$,站点 $j$ 被停靠所对应的集合为 $ {C_i}$。则容易想到,对于每组询问的 $x,y$,若成立则一定满足 $\min \{C_x\} < ...

Solution

题解:CF1687A The Enchanted Forest

一开始以为是一个 $\texttt{dp}$,仔细一看发现只是一个普通的贪心。 若 $k \le n$,则不能收集完或恰好收集完所有的蘑菇。如果一个地方的蘑菇被重复地收取,则会浪费之前到达该地所花的时间。我们的目标是使得时间之和最大,故一个地方重复遍...

Solution

题解:CF1688B Patchouli's Magical Talisman

对于一个奇数,不需要进行操作;对于一个偶数,只要有奇数存在,显然直接与奇数合并最优。因此,若序列中存在奇数,则由奇数+偶数=奇数的性质,可以将所有的偶数与其合并;若不存在奇数,则找到处理最少次数后能变为奇数的偶数,进行操作,然后将剩余的偶数与其合并。...

Solution

题解:CF1688A Cirno's Perfect Bitmasks Classroom

首先暴力肯定是不行的,对于一个 $x=2^k$ 的数一定会被卡到超时。 由于题目寻找最小的数 $y$ 符合 $x \& y > 0$ 且 $x \oplus y > 0$,不难想到先用 $\mathrm{lowbit}$ 找到符合...

Solution

题解:P7167 [eJOI 2020 Day1] Fountain

观察本题题干,发现制约水最终的去处的为盘子的直径与容量。若对于每次询问,都直接暴力计算,显然会超时。于是想到一种能够减少判断次数,又不影响结果的方法—倍增。 首先预处理出从第 $i$ 个圆盘开始连续 $2^j$ 个圆盘中的最大直径,记为 $pre_{...

Solution
14567813