CF400D Dima and Bacteria 题解

Posted on 2024-03-02 16:55  _XOFqwq  阅读(3)  评论(0编辑  收藏  举报

对于第一问,用并查集将所有边权为 \(0\) 的边的端点合并,

然后对于每个 type 看里面是否所有的点都在一个集合中即可。

时间复杂度 \(O(n \log n)\)(默认使用路径压缩并查集)。

对于第二问,将 type 看作点,

对于每两个 type 取它们中两个点的最小边权连边,

然后跑 floyd 即可,时间复杂度 \(O(k^3)\)