好题+数据结构神题+感人肺腑pascal被卡系列,我下面的代码几乎写到最优可怎耐bzoj上pascal开的是O1,c++开的是O2,这怎么可能跑得过!!!还是说说方法吧,这是一道算贡献的好题,因为我们不可能把边加进去依次算连通块个数我们考虑在区间[l,r]中每条边i是否能使两个连通块变成1个,什么样的边可以呢?显然,这条边端点所在的连通块在i加入之前不连通或者是使这两个连通块相连的边号<l这样算法就呼之欲出了,我们首先依次把边i加入,如果构成环,则弹出环上编号最小的边并记录,否则记为0这里我们可…