1 条题解
-
0
CF2077G RGB Walking 题解
题意简述
给定一张 个点、 条边的连通无向图,每条边有权值 ()和颜色(红/绿/蓝),保证每种颜色至少存在一条边。
我们可以走可重复经过点和边的路径,从 号点走到 号点。设路径中红、绿、蓝边的权值和为 。
求 的最小可能值。
数据范围:。
解法
设 表示第 条边经过的次数。
首先有一个显然的结论:可以把每个 调整成一个很大的偶数,使得当前 ,之后只需要满足度数奇偶性限制,就能构造出合法路径。
单独对一种颜色考虑:对于一条边 ,令 ,对应的行走方案依然合法,也就是说该颜色的权值和可以任意增加 。
设 为该颜色所有边权的 ,那么如果 是一个可实现的权值和,则 也一定可实现。
因此我们只需要关心 的值。又因为每条 都是 的倍数,所以余数只有两种可能,可以用 BFS 求出。
把三种颜色放在一起考虑,用一个大小为 的状态将余数压缩,再跑一次 BFS,就能得到三个颜色同时合法的余数组合。
现在问题转化为:给定三个同余方程
求 的最小值。
一个朴素思路是枚举任意一个 ,另外两个都只有 种可能取值,但暴力做复杂度为 。
注意到对某个 ,如果它含有一个质因子 ,而另外两个模数都不含 ,那么可以把这个 去掉,即令:
$$M_0 \leftarrow \gcd(M_0,\operatorname{lcm}(M_1,M_2)) $$原因是:操作之后若存在满足条件的 ,每次将 加上 ,一共加 $\dfrac{\operatorname{lcm}(M_0,M_1,M_2)}{\operatorname{lcm}(M_1,M_2)}$ 轮,一定存在某一轮满足原限制。
操作后可以设
其中 两两互质。再用朴素做法,只需要枚举
$$\frac{\operatorname{lcm}(M_0,M_1,M_2)}{\max\{M_0,M_1,M_2\}} $$次,也就是 次。 由于 ,所以 ,总复杂度降为 。
时间复杂度
- 1
信息
- ID
- 6362
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 5
- 已通过
- 1
- 上传者