题解: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

题解: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

题解:CF1687A The Enchanted Forest

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

Solution

题解:CF1688A Cirno's Perfect Bitmasks Classroom

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

Solution

题解:CF1688B Patchouli's Magical Talisman

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

Solution

题解:P7167 [eJOI 2020 Day1] Fountain

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

Solution

题解:P6883 [COCI2016-2017#3] Kroničan

看到 $1 \le N,K \le 20$ 的数据范围,不难想到状态压缩 $\texttt{dp}$。设 dp[i] 表示所有玻璃杯的状态为 $i$ 时的最小花费。 由于是最小花费,初始化时会将所有的 dp[i] 默认为 INF,然后再特殊处理 dp...

Solution

题解:P8251 [NOI Online 2022 提高组] 丹钓战

丹钓战,顾名思义单调栈。 首先是 $\texttt{15 pts}$ 做法,对于每个询问的区间,进行一次单调栈的模拟。时间复杂度 $O(nq)$。 然后可以稍微的优化一下,我们可以进行 $n$ 次单调栈来维护以第 $i$ 个数为起点的区间的答案...

Solution

题解:P8087 『JROI-5』Interval

这是一道不错的思维题,赛时我的思路是逆向思维法。从长度为 $n$ 的合法区间开始判断,因为由 $f_{r - l + 1} < \rm Mex_{l,r}$可知,若让区间成为合法区间,需要使 $\rm Mex_{l,r}$ 尽可能大。所以就有了...

Solution
14567813