首页 > 其他分享 >析合树

析合树

时间:2024-01-17 15:01:02浏览次数:28  
标签:排列 析点 合点 连续 本原 析合树

析合树。对一个排列定义连续段为值域是连续的一段区间。本原连续段(本原段)定义为不与其它任何连续段《相交且不包含》的连续段。即本原段之间只有相离和包含关系。一个连续段可以由若干本原段拼接得到。将所有本原段按照包含关系建树就得到了析合树。

儿子序列是按序列排序,每个点元素是值域区间。儿子排列就是其离散化后的结果。

合点:儿子排列为递增或者递减。特别地,定义叶子为合点。

析点:不是合点的点。

排列 \(9,1,10,3,2,5,7,6,8,4\) 建出的树。图源 oi-wiki。

性质:合点的任意一个儿子排列的区间都是连续段(或者说连续的几棵子树);析点的儿子排列非平凡区间均不是连续段。反证如果存在,最大的非平凡连续段是个本原段,与析合树定义相悖。

从而析点的儿子个数一定 \(\geq 4\)。

就简单看下结构是啥,构造闲的没事的时候再学呃呃。

标签:排列,析点,合点,连续,本原,析合树
From: https://www.cnblogs.com/do-while-true/p/17970015

相关文章

  • 析合树
    \(\color{black}{\textttN}\color{red}{\texttt{ityacke}}\)瑞萍:废(三声)物。定义连续段为区间\([l,r]\),其中\([l,r]\)排序后值域连续。定义本原连续段为任意连续段与其无交或包含的连续段。把所有本原连续段依包含/分割组织成的树,叫析合树(显然此成立)。析合树有两类点,析点和......
  • 关于区间连续段问题 (析合树)
    有部分题目需要处理关于区间连续段的问题(一般来说,对于一个排列,如果一个区间的值连读,就为一个连续段。)区间连续段看似不太好维护,其实有一种处理它的利器:析合树。(也可能只是析合树的思想),就能方便的维护这一个东西。析合树其实这个名字不重要......
  • 析合树学习笔记
    前情回顾。因为学了PQ-Tree而zhy提起析合树与PQ-Tree类似的结构关系于是就去又看了下析合树。这个算法太有用了!至少比PQ-Tree有用多了!析合树是处理排列连续段问题的利器。其实还是没用对于一个排列的子区间,如果它的值域也是一段长度相同的区间的话就称为它是该排列的连......
  • 【专题】析合树计数
    【专题】析合树计数djwj233析合树学习笔记rzO_KQP_Orz析合树形态计数dp析合树子段:连续子序列非平凡子段:长度\(\in[2,n-1]\)的子段连续段:排序后值域连续的子段令\(I_U\)表示\(U\)的所有连续段。本原连续段:若没有其他\(I_U\)内的连续段与当前连续段相交,......