基环树,又称环套树,最显著的特点就是有 N 个点 N 条边的连通图,也就是一个图上有一个唯一的环。多个基环树可以构成基环树森林,也是N个点N条边但不保证一定联通
对于这种基环树我们主要有两种处理方式:
1.先处理环上每个点支出来的子树部分,然后把贡献记录在环上的点,最后问题就成了计算一个环的答案了
2.先删去环上的一条边,让基环树变成真正的树计算后考虑加上之前删去那条边的影响即可
CF711D Directed Roads
一个基础的计数问题,主要是计算环的边数
P1453 城市环路
利用第二种方式进行两次树形dp
P2607 [ZJOI2008]骑士
和上一题一样,只是基环树森林而已
P4381 [IOI2008] Island
利用第一种方式+树形dp+单调队列优化dp 很经典