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\)的上下左右,用线段树维护点数-边数的最小值与最小值个数

posted @ 2020-05-14 23:09  Grice  阅读(112)  评论(0编辑  收藏  举报