18十一正睿筆記

2021-08-28 16:30:57 字數 1684 閱讀 6635

前提:滿足四邊形不等式

若i

<

a<

b

i<

a

,b)+

w(a,

j)

i,j)

+w(a

,b

)w(i,b)+w(a,j)w(

i,b)

+w(a

,j)i,j)

+w(a

,b)相當於決策點是不降的。

把序列分成k段,每段的價值為w(i

,j

)w(i,j)

w(i,j)

ex:和的平方

d pi

,k=m

in(d

pj,k

−1+w

(j,i

))

.dp_=min(dp_+w(j,i)).

dpi,k​

=min

(dpj

,k−1

​+w(

j,i)

).知道了dp有決策單調後,可以分治

s ol

ve(l

,r,o

ptl,

optr

)solve(l,r,opt_l,opt_r)

solve(

l,r,

optl

​,op

tr​)

求出m id

=l+r

>

>

1mid=l+r>>1

mid=l+

r>

>

1的opt(for一遍),然後遞迴下一層。同時這個東西在每一層支援莫隊一樣的統計方式,強行把指標跳到想要的位置。

然而這個做法需要上一層用來轉移的都算出來了,,,,

如果是形如fi=

min(

fj+w

(j,i

))

f_i=min(f_j+w(j,i))

fi​=mi

n(fj

​+w(

j,i)

)的方程

可以用單調棧,棧中存每個決策點決策的段,每次出現乙個新的決策點,和棧頂的元素二分找位置。

一般寫成dpi

=min

/max

(aj+

bj∗c

i)+d

idp_i=min/max(a_j+b_j*c_i)+d_i

dpi​=m

in/m

ax(a

j​+b

j​∗c

i​)+

di​首先不管d

id_i

di​,把(b

jb_j

bj​,a

ja_j

aj​)看成平面上的點。撞到點時在y軸上的截距就是這個點的貢獻,拿一條斜率為-c

ic_i

ci​的線從下往上移動,第乙個撞到的就是最小值。顯然這些點只會在下凸殼上,找出下凸殼可以二分找點。

冷知識== dag的反圖dfs出棧序列是乙個合格的拓撲序列

乙個拓撲序要求1最靠前,再讓2最靠前,等價於反圖最大字典序

每個正則二分圖(所有點度數相同)都有完美匹配

霍爾定理:對於乙個二分圖對於左邊任意乙個點集,出邊點集的siz>=點集大小,那麼這個圖有完美匹配。

python學習筆記 十一 正規表示式

一.基礎知識 d 匹配乙個數字 w 匹配乙個字母或數字 匹配任意字元 表示任意個字元 表示至少乙個字元 表示0個或1個字元 表示n個字元,表示n m個字元 s 表示匹配乙個空格 包括tab等空白符 s 表示至少乙個空格 0 9a za z 可以匹配乙個數字 字母或者下劃線 0 9a za z 可以匹...

python學習筆記 十一 正規表示式

一.基礎知識 d 匹配乙個數字 w 匹配乙個字母或數字 匹配任意字元 表示任意個字元 表示至少乙個字元 表示0個或1個字元 表示n個字元,表示n m個字元 s 表示匹配乙個空格 包括tab等空白符 s 表示至少乙個空格 0 9a za z 可以匹配乙個數字 字母或者下劃線 0 9a za z 可以匹...

java基礎(十一) 正規表示式

本文在閱讀一位大牛博主寫的一篇文章後,感覺深受其用,在此做個筆記總結學習一下,大牛博主位址為 在編寫處理字串的程式或網頁時,經常會有查詢符合某些複雜規則的字串的需要。正規表示式就是用於描述這些規則的工具。換句話說,正規表示式就是記錄文字規則的 入門例子 例子1 假設你在一篇英文 裡查詢hi,你可以使...