rt,这是一个错误的想法,比如代码是这样的
for (int i = head[u]; i != -1; i = e[i].next) { // to do head[u] = i; }
给出一组数据:
1 4 1 5 2 4 2 6 3 5
按照如下的方法开始连边:开始1~4连边,然后考虑2节点,发现冲突了,于是2~4连边、1~5连边,最后考虑3节点,3~5连边、1~4连边、2~6连边。这时候我们发现会枚举到之前枚举过的边。