AtCoder Beginner Contest 404

A,B

H₂O题,秒。

C

这道题从定义中便可以发现三条规律:

  1. 每一张 “Cycle Graph” 中的节点数和边数都相等。
  2. 每一张 “Cycle Graph” 中的节点的度都为 \(2\)
  3. 每一张 “Cycle Graph” 都是连通图。

全部判掉,即可。

D

从数据范围中,我们可以发现直接使用 “DFS” 也不会超时,所以我们可以在 DFS 中遍历每个动物园取 \(0,1,2\) 次即可(因为动物园的动物至少有一个,去二次之后一定会满足条件)。

E

我们可以设计一个记忆化搜索:

对于每一个碗,我们记录有那些碗可以把豆子转移到那个碗里。

然后我们可以把它想象成最开始所有豆子都在 0 号碗里,我们要把所有豆子移到有豆子的那些碗里。

我们从 0 号碗开始,向后移动豆子。但我们注意到有豆子的碗是必须得移到的,不然它就会没有豆子,所以在搜索时,记录接下来要到哪一个碗里,每次只要可以从转到那里,那就直接转过去。

但需要注意的是,我们的记忆化搜索 dfs(x) 表示把 x 后面的碗的所有豆子都移到 x 这个碗最少需要几步,所以由于最后一个有豆子的碗及以后的所有碗后面都没有豆子,所以都为 \(0\)。(赛时就因为这个没拿分)

后面的题作者没有写,请尽情谅解

posted @ 2025-05-04 21:24  jackzhang2013  阅读(20)  评论(0)    收藏  举报