保序回歸求解上公升問題

2021-09-13 19:19:19 字數 1833 閱讀 1803

在乙個圖g

gg中。點有給定點權v

iv_i

vi​與需求點權y

iy_i

yi​。若存在邊i→j

i\to j

i→j,那麼有yi≤

yj

y_i \leq y_j

yi​≤yj

​。要求最小化∑iw

i∣yi

−vi∣

p\sum_i w_i|y_i - v_i|^p

∑i​wi​

∣yi​

−vi​

∣p。通常的根據p的不同,問題稱為l

pl_p

lp​。

這個在oier中是十分常見的,譬如 bzoj1367。

下面講一下這類問題的通解。

前提條件:w

iw_i

wi​的離散導數為常函式。(這裡可能有問題,但是常函式,分段但是每一段都是常函式這樣的函式是可以的)

首先,由於p=1

p=1p=

1,那麼y

yy的值一定是某個v

vv值。那麼假設v從小到大排序後為v1,

v2..

.v

xv_1,v_2...v_x

v1​,v2

​...

vx​,那麼我們可以通過乙個整體二分求出每乙個點的值。

那麼首先,我們要先回求特殊情況的解法:

x =2

x=2x=

2。這個時候,相當於每個點變成了選擇0

00或者1

11,如果某乙個點選擇了1

11,那麼他的後繼也都要選擇1

11,那麼選擇1

11的就是乙個閉合子圖,那麼問題就變成了最小權閉合子圖,轉化一下變成最大權閉合子圖,然後可以網路流做。

那麼有了這個,我們用乙個整體二分即可。

s ol

ve(s

,l,r

)solve(s , l , r)

solve(

s,l,

r)表示點集s的最優解的取值範圍為vl,

vl+1

,...

vr

v_l,v_,...v_r

vl​,vl

+1​,

...v

r​。如果l=r

l=rl=

r,那麼s

ss中的點就確定了。。否則設mid

=l+r

2mid = \frac

mid=2l

+r​(下取整),那麼只對s

ss中的點,並且假設s

ss中的點只能取vmi

d與vm

id+1

v_與v_

vmid​與

vmid

+1​做一次原問題。然後對於這次最優解在vmi

dv_

vmid

​處取到的點,他的取值範圍就變成了[l,

mid]

[l,mid]

[l,mid

],反之為[mi

d+1,

r]

[mid+1,r]

[mid+1

,r]。

當然,大部分情況下做x=2

x=2x=

2的問題的時候都有特殊做法。譬如之前說的apio的題,可以直接將n

2n^2

n2暴力拿來跑,然後第二維大小只有2

22,所以複雜度是對的。實際上這也就意味著大部分情況下你只要會暴力你就a

aa了這道題了。再也不用分析,寫可並堆了!

wxh:下次遇到這種題就可以直接噴出題人傻*,出裸題了!首先最優解可能不是v

vv中的某乙個,然後我就不會了。

保序回歸問題

目錄特殊情形下的演算法 設 r 是集合 s 上的乙個二元關係,若 r 滿足 則稱 r 為 s 上的非嚴格偏序關係,記做 le 給定正整數 p 一張點集為 v 邊集 e e m 的有向無環圖 g 及代價函式 y,w forall i,w i 0 如果在 g 中有 v i 到 v j 的有向路徑,那麼就...

筆記 保序回歸問題

保序指保持原來的偏序,在保持給定偏序前提下求一組變數 最擬合給定變數 用數學術語表示,給定偏序集合 s 大小為 n 的集合 x w 求一組大小為 n 變數集合 y 使得對於任意 i,j in s,y le y j 使得 sum limits w i x i y i p 最小。更具體的,我們稱之為 l...

Spark mllib 保序回歸

從該序列的首元素往後觀察,一旦出現亂序現象停止該輪觀察,從該亂序元素開始逐個吸收元素組成乙個序列,直到該序列所有元素的平均值小於或等於下乙個待吸收的元素。舉例 原始序列 9,10,14 結果序列 9,10,14 分析 從9往後觀察,到最後的元素14都未發現亂序情況,不用處理。原始序列 9,14,10...