10 2023 档案
摘要:分析 最水 S 组 T1。 每次可以转动一个拨圈,或者转动相邻的两个拨圈,且幅度相同。那么就有一个简单粗暴的思路,枚举修改的方案,用 vector 来储存修改后的方案,存到 map 当中,当然也可以转换为数字存进去。 切记要用两个 map 来储存,一个存方案,下文称为 \(mp\),一个存这个方案在
阅读全文
摘要:分析 大概是强连通分量里面最水的一道紫题,不过细节挺多的,做题的时候给蒟蒻震惊到了。 题目要求是从 \(1\) 走到某个点,然后再走回 \(1\) 号点,中途可逆行一次,问最多能经过几个点。 有一个明显的思路是存两个图,一个正图一个反图,正图是为了求 \(1\) 到各个点的距离,反图是为了求各个点到
阅读全文
摘要:分析 简单排序题。 首先 Petya 可以通过跨过一个台阶和两个台阶保证不经过脏台阶,但是不可以通过跨过三个台阶来保证不经过脏台阶,所以只要看有没有连续的三个脏台阶即可。 同时,如果第一个台阶和最后一个台阶至少一个是脏台阶那么就不可以达成。 Accepted Code /*Code By Manip
阅读全文
摘要:定义 什么是强连通分量?直白地说就是在一个有向图中,有一块区域,每个点都可以互相抵达。这里用一张图来说明一下。 图中的 \(1, 2, 3\) 是一个强连通分量,因为他们可以互相抵达。 Tarjan 算法 如何求强连通分量,最有名且最常用的就是 Tarjan 算法。 先给出如下定义: \(dfn_u
阅读全文
摘要:分析 感觉没有蓝题难度 一道 bfs 题目,相较于大部分 bfs 题,它较为复杂,但分析一下还是很好水过的。 建立墙时,可以用三维数组,\(wall_{~i, ~j, ~pos}\) 表示 第 \(i\) 行第 \(j\) 列 \(pos\) 方向有墙。 观察发现,\(8 = 2^3,4 = 2^2
阅读全文
摘要:前置芝士 排列组合 分析 明显的贪心,第一问与此题思路相似,优先选择做时间少的,可以尽可能让后面的罚时尽量的小。 难点在第二问,第二问问的是有几种可能性,有个显然的结论:相同做题时间的题目,位置调换答案仍然相同。 那么可以用 桶+排列组合 来解决: 用桶储存这个做题时间的出现次数 \(b_i\),然
阅读全文
摘要:分析 树形 dp。 定义状态 \(dp_{~i,~0}\) 为在以 \(i\) 为根节点的子树中,不选第 \(i\) 个人的最大快乐值,\(dp_{~i,~1}\) 为在以 \(i\) 为根节点的子树中,选第 \(i\) 个人的最大快乐值。 寻找根节点,然后从根节点开始 dfs,当前节点 \(u\)
阅读全文