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

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

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

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

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

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

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

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

这道题和求普通的割边十分相似。最开始的思路就是将 $a$ 和 $b$ 的情况分别求解,然后再进行合并,然而这样并不行。 本题的关键通信线路和割边并不是充要条件,而是充分不必要条件。有些边虽然是割边,但该边将所有点分为两部分后每部分均有 $A$ 与 $...

$\texttt{Day 1 2022.01.22}$ 开幕式,好耶! $\texttt{Day 2 2022.01.23}$ 上午才知道课程都是二选一,选了个第二课堂听听。 前置 向量加减 \begin{cases} p = (x_1,y...

首先时最简单的做法,两层循环逐一判断,时间复杂度为 $O(n^2)$。但是现在无法通过最后一个数据点,需要优化程序。 对于一个从 $i$ 开始的情况,首先用一次二分找到最远的点符合只出现 H 或 G 的情况,设为 $l$。然后再用一次二分找到最远的点...