其实直接用vector来动态开g和f数组,每个resize当前子树大小的size就不会爆,其实可以小算一下的。
5000*5000*8/1024/1024=190.73486328125MB这是不优化直接二维的(int)。 但是如果按照以上的原则开数组的话,大小最大(就是一条链子的时候)会变成n*(n-1)/2的大小,就是小一半左右,这时候再搞个short就可以稳过了。
后来没搞short也过了,数据有一条链的估计没有。 数据有待加强(逃
还有,本题感觉更像是树包,涉及到树的合并问题