Day1 T1 方格染色
\(t=1/2\) 的操作可以维护矩形面积并.当 \(n,m \le 1e5\) 时考虑直接将每条斜线拆成 \(x_2-x_1\) 个矩形.所以朴素的矩形面积并即可通过 \(95\%\) 的测试数据.
当 \(n, m \le 1e9\) 时,先沿用之前的思路将 \(t=1/2\) 的操作覆盖的面积求出来.然后考虑斜线.首先判掉位于同一条直线上并且有交集的斜线,将它们连接成一条.这时任意两斜线和斜线或斜线和直线之间都至多仅存在一个交点.
顺序考虑每条斜线——先将其长度计入答案,再在考虑从答案中去掉它和 \(t=1/2\) 的操作及之前的斜线的交点.
Day1 T2 桂花树
由于限制 1 保证了 \(T'\) 选点集 \([1,n]\cup Z\) 作为关键点求出的虚树等于 \(T\),构造 \(T'\) 的过程可以视作在 \(T\) 上插入 \(m\) 个新点(每个点可以作为叶子插入或者插入到一条边的中间).
考虑沿用虚树来描述限制 2.发现限制 2 可以描述成:\(\forall i \in [1, m]\),\(T'\) 选点集 \([1, n+i]\cup Z\) 求出的虚树不能包含编号 \(>n+i+k\) 的节点.
不妨顺序插入节点 \(n+1 \sim n+m\).设当前要插入节点 \(x\).若作为叶子插入,则有 \(x-1\) 种选法;若插入到某条边的中间,则有 \(x-2\) 种选法.最后还有一种情况,即作为某条边中间编号大于自己的节点的儿子,有 \(x-2\) 种选法,这种情况下会诞生一个以后需要填补的空位.考虑 \(k \le 10\),我们可以将空位诞生的时间长短状压起来.
设 \(f_{i, S}\) 表示插入节点 \(i\),待填补的空位集合为 \(S\).
存在转移:
分别表示填补空位、插入叶子或边的中间、作为之后节点的儿子.