转化的基本方向:
-
复杂 -> 简单
-
性质少 -> 性质多
序列
单个元素
-
研究一个元素 x 和整个序列的偏序关系可将每个元素按 >x , <x 化为 1,0
-
可将一个元素变为一个坐标点 (index,x)
区间
-
可将一个区间 [l,r] 视为一个坐标点 (l,r) ,在平面上研究区间的性质
-
可将一个区间 [l,r] 以分治的形式分为三部分 [l,mid],[mid+1,r],[l\leq x...mid...y\leq r]
序列
-
研究偏序关系可以考虑笛卡尔树
-
类 10 序列和括号序列有三种考虑方式:
-
原序列
-
括号树(可三度化,用于研究序列结构及变化
-
折线图(便于考虑 1,0 数量最大最小以及变化
图论
点
由于点已经是图中的最小基本元素了,所以通常点的转化都要借助性质
-
点集 \texttt{lca} 可化为 \texttt{dfn} 最大的点和 \texttt{dfn} 最小的点的 \texttt{lca}
边
-
一条边可以拆成长度个点
-
一条无向边可以转化为两个点集合并后的代表元
路径
路径的转化基本就是转化为某个点(或某条边?
-
一条树上简单路径可以考虑两个端点以及它们的 \texttt{lca}
-
一条树上复杂路径可以考虑两个端点
连通块
-
树上连通块是一个到端点的生成树,可以以 \texttt{dfn} 序列考虑并描述连通块点集,还可以接“集合 -> 元素” 的考虑,比如只考虑点集 \texttt{dfn} 最小/大的点等等(话说除了这个还有别的吗
图
-
无向图最常见的就是转化为树,无非就这几种:
-
\texttt{e-bcc} -> 树
-
\texttt{v-bcc} -> 圆方树
-
瓶颈路相关 -> \texttt{Kruskal} 重构树
-
其他 -> \texttt{dfs} 树
-
有向图无论有没有性质都可以考虑 \texttt{DAG}和 \texttt{dfs} 树,若是有点度数的性质可以考虑基环树或树