[WC2024] 线段树

虽然代码好像来不及了,但是感觉这题更值得写一点

P10145 [WC2024] 线段树

转化为图

对于这种二元的 (l,r) (x,y) (u,v) 等,经常可以向 坐标、边 转化。一般统计转化成坐标,需要维护关系的转化成边。

这里 l 向 r 连边,意义是 \(s_l\leftrightarrow s_r\) ,那么 \((ql_i,qr_i)\) 合法就要求 ql qr 连通。

注意到此时的图是平面图。

平面图对偶

平面图相关定义

有一个平面图的常见 trick,就是 割边-路径 的转化。

容易发现对偶后路径是有一一对应关系的。

对于图上的 (S,T) ,首先因为是平面图,一定可以翻到最外面。
然后发现割边在对偶图上就是一条从 外面 到 外面 的路径,在原图上,从 S T 各引出一条边分割 外面 ,不进行对偶连边。
两个 半外面 A B 在对偶图上的最短路和割边对应。

例题:

狼抓兔子

按上述直接转化即可

过河

对原图考虑最大流,发现是平面图。

于是 最大流 - 最小割 - 对偶后 的最短路。

但是要 4连通 8连通 的细节,我同样还没来得及写,所以说不清

[NOI2010] 海拔

好像也可以用对偶,先咕咕

回到原题

考虑 (l,r) 是否联通,等价于引出两条分割线,然后判断对偶后的点(原图上是面)是否不连通。
因为要判多个,所以 n 个点要引出分割线,此时等价于 [l,l+1)~[r-1,r) 的区间与 [1,2]~[l-1,l) 和 [r,r+1)~[n-1,n) 和外点无交。

最后我们需要知道对偶后点的连通限制。显然可以连通的点是询问区间交出来的区间,与区间外的点都不能相连

xorhash

还是一个trick,刚做到过,判等价类等价于判断覆盖过这个点的区间的集合时候相等,对每个 [l,r] 赋随机权,比较异或和即可

DP

随机权离散成颜色。
注意到新图是二叉树,考虑在这个树上的朴素 DP,记录 u 连通的颜色/不连,考虑两条边的选择,是 \(O(n^2)\) 的。
(公式省略)

看着不好做,实际上注意到 \(f_{lc,c}\)\(f_{rc,c}\) 只会合并一次,其余形如 \(f_{l,i}\leftarrow f_{l,i}\times coef_r\)\(coef_r\)\(i\) 无关。
所以可以线段树合并,第一种合并,第二种打标记。

代码

还没写完

posted @ 2025-02-21 22:01  ccccccyd  阅读(14)  评论(0)    收藏  举报