思路
计算连通块数量有一个经典的公式:
连通块数量=点数−边数
在这个问题中,我们要求的是红色连通块的数量,所以公式可以相应地调整为:
P3676.第4题-树上的红色联通块
题目内容
小美拿到一棵 n 个结点的 树,初始都是白色,q 次操作。
给定 u,v ,把 u 到 v 的简单路径上的所有点染红。
请你输出树上最后有多少个红色连通块。
【名词解释】
树:指这样的一张图,其由 n 个节点和 n−1 条边构成,其上的任意两个点都连通且不存在环。
简单路径:在图上由若干顶点构成的序列,序列中顶点互不重复,且相邻顶点有边相连;路径长度为其中边的数量。
某一颜色的连通块:也称连通分量,满足,
单独的点也构成一个连通块。连通块的大小即为连通块中顶点的数量。
输入描述
第一行两个整数 n,q(1≤n,q≤2×105) 表示结点总数和操作次数。
接下来 n−1 行,每行两个整数 u,v(1≤u,v≤n,u=v) ,表示结点 u 和 v 之间存在一条无向边,输入保证是一棵树。接下来 q 行,每行给出两个整数u,v(1≤u,υ≤n) ,表示将此简单路径上的所有结点染成红色。
输出描述
一个整数,最后当前树上存在多少个红色连通块。
样例1
输入
5 3
1 2
1 3
1 4
5 3
3 3
4 3
1 5
输出
1