CF1109F

题意

给定\(n\times m\)的方格,形成一个\(n*m-\)排列,问有多少个值域,使得形成一个棵树。\(n\times m\le 2\times 10^5,n,m\le 1000\)

做法

形成环是单调的:\([l,r]\)有环,则\([l_1,r_1]\)也有环(\(l_1\le l,r\le r_1\)

枚举\(r\),令\(l_r\)为最小的左端点使得\([l_r,r]\)不形成环,可以LCT做

然后再考虑连通块个数=点数-边数,可以通过枚举\(r\)的上下左右,用线段树维护点数-边数的最小值与最小值个数

猜你喜欢

转载自www.cnblogs.com/Grice/p/12892047.html