20240930
The Only Way to the Destination
首先假如两个墙之间的间隔大于等于二了,那么就直接输出 \(no\),如果能在图的空隙中找到一个 \(2 * 2\) 的矩形,那么也是输出 \(no\),然后我们可以把每一列看成一个点,再把每个空隙看成一条边即可,用并查集维护
A Simple MST Problem
一个性质
- 我们可以发现一条连接 \(u, v\) 的边的代价为 \(cnt_u + cnt_v + cnt_{gcd(u, v)}\) (\(cnt\) 表示一个数的质因子数量)
我们可以枚举两个数的 \(gcd\) 然后对于每个 \(gcd\) 枚举他的倍数的质因子数量最少的,然后我们把他的倍数都与那个因子数量最少的建边,然后跑最小生成树,由于我们枚举的是 \(gcd\) 所以我们的 \(cnt_{gcd(u, v)}\) 是确定的,那么我们只需最小化 \(cnt_u\) 和 \(cnt_v\),然而 \(cnt_u\) 又是我们枚举的,所以只需找出最小的 \(cnt_v\)即可