https://www.luogu.com.cn/article/hg04ubs5
题解内对于时间复杂度分析并不合理。实际上,可能会存在一开始是合法的但后来变得不合法然后 ai 加 1,也就是说并非每次都加了 1。
实际上正确的复杂度分析是因为每次都至少两个点被缩成了一个点,所以会进行 n 次。
从题解评论可以看到
您看我代码每次重新建图都清空了原来的边的
然而这是不对的,不应当清空原来的边。实际上代码中会将已经合法的边再次连上,使得它正确了。
当然如果是我理解有误请轻喷,感觉还是有点歧义的(