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\)即可

posted @ 2024-09-30 20:53  libohan0518  阅读(5)  评论(0编辑  收藏  举报