T1 树
题解:
记录树上前缀和,每次加入新前缀和就二分一下前缀和数组看有无满足\(sum[now]-s\)的数在里面,因为\(sum\)必定是单调的,就乱搞完毕;
\(code\):
#include
#include
#include
#include
#include
#include
#include
T2 联通块计数
题解:
树DP=_=
\(code:\)
#include
#include
#include
#include
#include
#include
#include
T3 电压
题解:
题意为去掉一条边,看此图是否仍为一个二分图;
我们考虑去掉的这条边必定是所有奇环的交,且不能在任何的偶环上,\(tarjan\)找出所有环(这里的所有环是指写出的算法所能找出的环,并非真正意义上的所有环)
每当我们遇到一条返祖边,差分记录环覆盖的边,统计答案时满足前面我们所给的条件即可;
我们发现当我们的搜索顺序不同时,我们所找出的环也不同,但是,这并不影响我们的结果,因为如果一结果对一种图成立,那么他必定对所有图成立;
\(code:\)
#include
#include
#include
#include
#include
#include
#include