T1淼
T2「搜索树」
考场上先想的是重边不行,奇环一定要砍一个,
10%的部分分是:
只有一个环的,奇环的ans是环长,偶环的ans是除环之外的链长,
然后就卡在了没有进一步明确转化题意,而且不会找环
题意转化为:ans=在所有奇环上,并且不在任何偶环上的边的个数
怎么去找?
这道题是在无向图上生成一个搜索树。
然后可以大概证明,无向图搜索树中不存在横叉边
然后每个反祖边和树边构成的就是环了。
怎么去统计每条边在几个奇数上?
差分思想进行区间查询
dfs搜索树的过程中,
遇到一个x->y的返祖边后,对于x->y这条道路上的每个点都 ++(边权下放到点)
最后去枚举每个点在搜索树上的父亲边,看是否在所有奇环并且不再任一偶环上
那返祖边呢?显然只有一个奇环的话,返祖边才可能成为ans ,所以一个奇环的情况还要++
原文:https://www.cnblogs.com/casun547/p/11733577.html