Atcoder abc245
https://atcoder.jp/contests/abc245/tasks
G - Foreign Friends
N个点, 第i个人颜色是Ki
其中一些点是好的点
初始没有边
有m个可选边, 第i个可以花费 Ci 让ui和vi连一条边(无重边自环)
对于每个点, 独立的求最小代价 让它和一个异色好点连通, 或报告不可能
范围
N 1e5
M 1e5
我的思路
既然是每个到异色好点最短距离, 那么路径上一定都是同色或非好点
目前思路是 按一个颜色的个数能不能根号分治
另一个是记录到每个点最小代价不同色的两个最近点
考虑用Floyd+提前退出? 问题是 时间复杂度怎么估计和保证