日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

差分约束系统——建模与求解

發布時間:2025/6/15 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 差分约束系统——建模与求解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?如果一個系統由n個變量和m個約束條件組成,其中每個約束條件形如:xj-xi<=bk,其中,1<=i,j<=n, 1<=k<=m。則稱其為差分約束系統(System of difference constraints)。差分約束系統就是求解關于一組變量的不等式組的方法。

??? 求解差分約束系統,可以轉化為圖論中的單源最短路徑問題。

??? 觀察約束條件xj-xi<=bk,會發現它類似于最短路中的三角不等式d[u]<=d[v]+w[u,v](即d[u]-d[v]<=w[u,v])。因此,以每個變量xi為結點,對于約束條件xj-xi<=bk,連接一條邊(i,j),邊權為bk。再增加一個源點s,s與所有的點相連,邊權為0。對這個圖,運行以s為起點的bellman-ford(或者spfa),最終{d[i]}即為一組可行解。

 引理:設x=(x1,x2,…,xn)是差分約束系統Ax≤b的一個解,d為任意常數。則x+d=(x1+d,x2+d,…,xn+d)也是該系統Ax≤b的一個解。

?

?

?

poj3159:發蘋果問題。flymouse是班長,他需要給每個同學發一定數量的蘋果,但是學生之間會有比較,有的學生(編號為a)認為某個學生b的蘋果數不能超過他v個(Sb-Sa<=v)。flymouse的編號為1,現在要求滿足學生要求,并且使S1 - Sn最大。

解:從a到b連接一條有向邊,權值為v。以1為起始點,求到每個點的最短路徑,最終dis[n]即為所求。

?

poj1364:有一個國王,它只會算連續的數的加法,假設一串數{a1,a2,...an},給出條件si,ni,operator,ki,意思是從si到si+ni這段數的和>或者<ki。現在又n組這樣的條件,判斷這些條件是否存在矛盾。

解:設S[i]表示從串開頭1到i的和,S[0]=0,則條件可轉化為:S[ni+si] - S[si-1] > ki(or <)。由于S[i]均為整數,可以轉化為:S[ni+si] - S[si-1] >= ki?+ 1(or <= ki-1)。先將條件全部轉化為<=形式,再添加超級源點n+1,到其余各點連接一條邊,權值為0。利用spfa判斷負環的存在。

?

poj2983:有兩個敵對勢力,a方想弄清楚b方的n個防御站的位置,通過一些地下組織。地下組織提供多條情報,你要判斷這些情報是否可靠。情報分為兩種:P A B X:A站在B站北邊X公里;V A B:A站在B站北邊至少1公里,但具體多遠不清楚。現在給出n個站和m條情報,判斷這m條情報是否可靠。

解:設S[i]表示i站距離最南邊的距離,S[0]=0,則情報可以轉化為S[A]-S[B]<=X&&S[A]-S[B]>=X;S[A] - S[B]>=1。首先將這些不等式全部轉化為<=,求最短路用bellmanford判斷負環。

?

poj1201:給出n(n=50000)段連續的整數(整數均小于50000),要求出一個最小的集合Z,至少包含第i段里面ci個數。

解:S[i]表示Z集合從0到i-1中取的整數的個數。對于段[a,b]取不小于c個數,則有:S[b+1]-S[a]>=c。顯然,這是求最長路。(用spfa注意添加源點)

有關差分約束系統建模問題,可參

總結

以上是生活随笔為你收集整理的差分约束系统——建模与求解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。