日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

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

發(fā)布時(shí)間:2025/6/15 windows 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 差分约束系统——建模与求解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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

??? 求解差分約束系統(tǒng),可以轉(zhuǎn)化為圖論中的單源最短路徑問題。

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

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

?

?

?

poj3159:發(fā)蘋果問題。flymouse是班長(zhǎng),他需要給每個(gè)同學(xué)發(fā)一定數(shù)量的蘋果,但是學(xué)生之間會(huì)有比較,有的學(xué)生(編號(hào)為a)認(rèn)為某個(gè)學(xué)生b的蘋果數(shù)不能超過他v個(gè)(Sb-Sa<=v)。flymouse的編號(hào)為1,現(xiàn)在要求滿足學(xué)生要求,并且使S1 - Sn最大。

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

?

poj1364:有一個(gè)國(guó)王,它只會(huì)算連續(xù)的數(shù)的加法,假設(shè)一串?dāng)?shù){a1,a2,...an},給出條件si,ni,operator,ki,意思是從si到si+ni這段數(shù)的和>或者<ki。現(xiàn)在又n組這樣的條件,判斷這些條件是否存在矛盾。

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

?

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

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

?

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

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

有關(guān)差分約束系統(tǒng)建模問題,可參

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。