[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\) 无关。
所以可以线段树合并,第一种合并,第二种打标记。
代码
还没写完
浙公网安备 33010602011771号