B 题意:给n个问题,每个问题有一个固定的答案ai(<=10^5).现在有m个约束关系,每个约束关系是一个二元组(ui,vi),表示你回答ui.vi问题的答案必须一样. 现在让你输出分别修复一个约束,然后回答每个问题,最多能答对多少道. 分析:约束关系其实是弱联通关系,要求回答每个联通块是一样的.所以建一个图. 然后考虑拆掉一个约束关系(一条边),可以发现如果处在一个强连通分量内,拆掉对答案没有影响.所以先tarjan缩编然后重建树. 若是一条桥边,那么就是把树拆成多个部分,更新答案. 具体我想