禁止近距離接觸 差分約束

2022-05-05 12:00:13 字數 1500 閱讀 7161

模擬賽遇到不會的東西,隨便寫點。

差分約束模型一般建立在\(m\)個\(n\)元一次不等式上。對於這個矩陣應當滿足係數矩陣每一行有且僅有乙個\(-1\) 和 \(1\)。

\(\texttt\)

\[\left[

\begin

0 & 1 & -1 & 0\\

-1 & 0 & 1 & 0\\

0 & 1 & 0 & -1\\

0 & 0 & 1 & -1\\

\end

\right]

\left(

\begin

x_1\\

x_2\\

x_3\\

x_4\\

\end

\right)

\leq

\left(

\begin

1\\8\\

4\\7\\

\end

\right)

\]我們可以藉此聯想到三角不等式。

\[\begin

x_b-x_a\leq a\\

x_c-x_b\leq b\\

x_c-x_a\leq c\\

\end

\rightarrow x_c-x_a\leq a+b

\]\[\therefore \text \left\=\text \left\

\]很顯然,我們更容易想到建立在三角不等式上的這個模型:

這就是最短路鬆弛的經典模型。

if(d[u]+e(u,v)構建模型的過程也很簡單:

對於 \(x_a-x_b \leq c\) 得出 $ b \rightarrow a$ 可以連一條 $ c $ 的邊。add(b,a,c)

顯然,\(x_a-x_b \geq c\) 轉換為 \(x_b - x_a \leq -c\) 就與上同理了。

我們將不等式組推廣成\(n\)元,\(m\)個,整個模型自然就成為了\(s \rightarrow t\)的最短路計算。

如果連通圖存在負環,那麼 \(x_s,x_t\) 間的路徑會被無限鬆弛,dis[t]-dis[t]=-inf。抽象出來就是 \(d_t-d_s \leq -\infty\),所以 \(\max \left\\) 不存在。便是無解。

如果本身圖不連通,也就是不存在$ s \rightarrow t$的路徑,那麼 \(s\) 與 \(t\) 顯然沒有約束條件,也就有無限個解。

如果說 \(x_a-x_b \leq k\) 這個 \(k\) 為常量,在 \(k\) 不確定的情況下,我們直接採用暴力列舉的方法找 \(k\) ,由於不等式給出,所以狀態很好定義,我們就可以進一步優化為二分答案的方法。

例題 \(\texttt\)

reference:

迅馳時尚盛典,跟明星近距離接觸!

英特爾迅馳二的發布,從官方訊息到坊間傳聞,一直就沒有斷過。英特爾這次迅馳二代發布,可謂是吊足了大家的胃口。技術方面,迅馳二代的技術革新是革命性的,隨便點開乙個技術論壇,和專家的討論早已經不絕於耳。20號接到迅馳二代發布會的邀請函,和logo一樣的半圓形形狀讓已經讓我隱約感受到科技的魅力,也更是基於此...

單詞最近距離

有一篇文章內含多個單詞,現給定兩個單詞,請設計乙個高效演算法,找出文中這兩個單詞的最短距離 即最少相隔的單詞數,也就是兩個單詞在文章中位置的差的絕對值 給定乙個string陣列article,代表所給文章,同時給定文章的單詞數n和待查詢的兩個單詞x和y。請返回兩個單詞的最短距離。保證兩個單詞均在文中...

附近距離計算

之前寫附近資訊的時候需要在資料庫專門制定合適的演算法,在網上也看了各位前輩的一些sql。不過總覺得那些sql執行的結果不是很滿意,精度不是很高,取得的資料與目的有差異。所以自己寫了乙個,今天在這裡分享出來。select abs lng blng 111 abs lat blat 111 abs co...