特殊偏序关系上的保序回归问题

链上的保序回归问题

在这里插入图片描述

如果是一条链的话,当然也可以整体二分然后贪心做,这样的时间复杂度是 O ( n log ⁡ n ) O(n\log n) O(nlogn) 的。

论文里有
在这里插入图片描述
在这里插入图片描述

意思是用单调栈维护区间的带权均值 L p L_p Lp (可以理解为每个位置应该取的值)

如果有后面的 L p L_p Lp 比前面的大 我们又要求序列不降 则合并两个区间,求新的 L p L_p Lp 加入单调栈。

时间是 O ( n ) O(n) O(n)

:在保序回归问题上,整体二分是通用法而且只多一个 log ⁡ \log log ,那单调栈有啥用?

:在多次询问,每次的点权可选区间不同时,整体二分退化成 O ( q × n log ⁡ n ) O(q\times n\log n) O(q×nlogn)。然而可以在单调栈上二分单次询问 O ( log ⁡ n ) O(\log n) O(logn)


树上的保序回归问题

整体二分,然后跑树形 DP ,即可得到 O ( n log ⁡ n ) O(n\log n) O(nlogn) 做法,看起来显然比维护分段函数好得多。

仙人掌也可以这么做。——p_b_p_b


多维偏序的保序回归问题

定义: d d d 维偏序,就是点在 d d d 维空间里,有 ( a 1 , a 2 , ⋯ , a d ) ≤ ( b 1 , b 2 , ⋯ , c d ) (a_1,a_2,⋯,a_d)≤(b_1,b_2,⋯,c_d) (a1,a2,,ad)(b1,b2,,cd) 当且仅当 ∀ 1 ≤ i ≤ d , a i ≤ b i ∀1≤i≤d,a_i≤b_i 1id,aibi

  • d = 2 d=2 d=2 时:还是整体二分,和链上的情况类似,当一个点集被分成两个点集时是类似于链上的一个区间的点被分成两个区间的点的,只不过区间变成了区域。所以随便 D P DP DP 一下即可。

  • d > 2 d>2 d>2 时: D P DP DP 变成 d d d 维的即可,不是很好做。


笔者的疑惑

  1. L 1 L_1 L1 问题的均值可能是一个区间,这就相比 L p L_p Lp 有很大的差别,但是求答案方法是一样的,为什么?(求大佬指点
  2. 保序回归能否和线性回归类似拓展到实数域(显然可以),如何求解?(呃似乎不太可做
posted @ 2022-10-10 20:18  缙云山车神  阅读(30)  评论(0编辑  收藏  举报