专栏文章
题解:CF718E Matvey's Birthday
CF718E题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miqjjup3
- 此快照首次捕获于
- 2025/12/04 05:50 3 个月前
- 此快照最后确认于
- 2025/12/04 05:50 3 个月前
Matvey's Birthday
Problem
给定一个仅包含
a~h 的字符串(八个字符)。有一个 个结点的无向图,编号为 到 。结点 与结点 间有边相连当且仅当 或 。
求这个无向图的直径和有多少对点间的最短距离与直径相同。
数据范围:。
Sol
不难发现,直径一定不会超过 。因为我可以通过传送后走一步来切换字符。然后这个东西不是很好贪心, 又特别小,不难想到 DP。
不妨定义 表示点 走到第 个颜色的最短距离。这个东西是很好处理的,用类似于 BFS 的东西即可得到。
现在讨论直径,由于直径是 。经过我们的转化,时间复杂度由 变为了 !。
里面的 是很不好的,由于答案一定不会超过 ,可以把 的二元组 单独拉出来跑。然后现在就只需要求 了。这个东西乍一看并不好做,但是发现传送只对颜色有要求,所以对于 相同的点, 至多只会有两个值,因为如果不行的话,一定可以传送一次到达。如果记 表示颜色 走到颜色 的最小距离( 可以在求 时一起得到),则显然有 。里面的 不好拆掉,于是考虑枚举 算 的答案。然后不妨令 。然后由于 的值域很小,可以把后面一维压起来,变为 。发现相同的 的答案,无论 是多少,答案一定是一样的。于是可以枚举 来进行统计。 的值有 种,所以时间复杂度为 。空间 ,这是因为我需要知道之前 出现了多少次,这需要开一个桶。
Code
评测记录。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...