前提:滿足四邊形不等式
若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>=點集大小,那麼這個圖有完美匹配。 一.基礎知識 d 匹配乙個數字 w 匹配乙個字母或數字 匹配任意字元 表示任意個字元 表示至少乙個字元 表示0個或1個字元 表示n個字元,表示n m個字元 s 表示匹配乙個空格 包括tab等空白符 s 表示至少乙個空格 0 9a za z 可以匹配乙個數字 字母或者下劃線 0 9a za z 可以匹... 一.基礎知識 d 匹配乙個數字 w 匹配乙個字母或數字 匹配任意字元 表示任意個字元 表示至少乙個字元 表示0個或1個字元 表示n個字元,表示n m個字元 s 表示匹配乙個空格 包括tab等空白符 s 表示至少乙個空格 0 9a za z 可以匹配乙個數字 字母或者下劃線 0 9a za z 可以匹... 本文在閱讀一位大牛博主寫的一篇文章後,感覺深受其用,在此做個筆記總結學習一下,大牛博主位址為 在編寫處理字串的程式或網頁時,經常會有查詢符合某些複雜規則的字串的需要。正規表示式就是用於描述這些規則的工具。換句話說,正規表示式就是記錄文字規則的 入門例子 例子1 假設你在一篇英文 裡查詢hi,你可以使...python學習筆記 十一 正規表示式
python學習筆記 十一 正規表示式
java基礎(十一) 正規表示式