U562821 DDP on cactus
题目背景
成长:[static](/problem/P10779) $\Rightarrow$ dynamic; [tree](/problem/P4719) $\Rightarrow$ cactus。
题目描述
$n$ 个点 $m$ 条边的仙人掌,点编号为 $1\sim n$,每个结点有一个权值 $w_u$。
$q$ 次点权修改操作,你需要在第一次修改前以及每次修改后,输出这棵仙人掌的最大独立集。
输入格式
第一行两个整数 $n,m$。
接下来 $m$ 行,每行两个整数 $u,v$,表示 $u,v$ 之间有一条边。
接下来一行 $n$ 个整数,第 $i$ 个整数 $w_i$ 表示初始 $i$ 的点权。
接下来一个整数 $q$,表示修改次数。
接下来 $q$ 行,每一行两个整数 $u,w$ 描述这次修改,表示将 $u$ 的点权修改为 $w$。
输出格式
$q+1$ 行,表示各个时刻仙人掌最大独立集。
说明/提示
$2\leq n\leq10^5$。熟悉仙人掌的同学应该不需要 $m$ 的范围($n-1\leq m\leq2n-2$)。$1\leq q\leq 10^5$。任意时刻 $0\leq w_i\leq 10^9$。
对于一个测试点,$q=0$。
对于另一个测试点,$m=n-1$。
对于另一个测试点,$n,q\leq10^3$。
对于另一个测试点,$n,q\leq10^4$。
我的博文 & 题解:[《圆方树学习笔记 —— 一种关于点双连通分量的思考方式》](https://www.cnblogs.com/XuYueming/p/18313014)。