POJ 1275 二分 差分約束系統

2021-10-22 05:42:15 字數 1068 閱讀 7444

題意

傳送門 poj 1275 cashier employment

題解不等式問題,考慮轉化為差分約束系統。某個時刻 i

ii 的工作人數為前 8

88 個小時內開始工作的人數和,將其轉化為字首和 s

ss 的差分。設 num

[i

]num[i]

num[i]

為工作開始時間為時刻 i

ii 的人數。

s[i]\geq s[i-1] \\ s[i]-s[i-1]\leq num[i]\\ s[i]-s[j]\geq \beginr[i] &i>j\\ r[i]-(s[23]-s[-1]) & i⎩⎪

⎪⎪⎨⎪

⎪⎪⎧​

s[i]

≥s[i

−1]s

[i]−

s[i−

1]≤n

um[i

]s[i

]−s[

j]≥ s[i-1]-s[i]\leq 0\\ s[i]-s[i-1]\leq num[i]\\ s[j]-s[i]\leq \begin-r[i] &i>j\\ x-r[i] & i⎩⎪

⎪⎪⎪⎪

⎪⎪⎪⎨

⎪⎪⎪⎪

⎪⎪⎪⎪

⎧​s[

i−1]

−s[i

]≤0s

[i]−

s[i−

1]≤n

um[i

]s[j

]−s[

i]≤bool

spfa()

}}return1;

}bool

judge

(int x)

add(0,

24, x)

,add(24

,0,-x)

;return

spfa()

;}intmain()

if(ub > n)

puts

("no solution");

else

printf

("%d\n"

, ub);}

return0;

}

poj1275 (二分 差分約束)

題意 在一家超市裡,每個時刻都需要有營業員看管,r i 0 i 24 表示從i時刻開始到i 1時刻需要的營業員的數目,現在有n n 1000 個申請人申請這項工作,並且每個申請者都有乙個起始工作時間 ti,如果第i個申請者被錄用,那麼他會從ti時刻開始連續工作8小時。現在要求選擇一些申請者進行錄用,...

poj1275 差分約束系統

1.思路 沒什麼好講的,劉汝佳的書 演算法藝術與資訊學競賽 講得很好,不過對於初次接觸差分約束系統的人來講還是很費解,可以去參考 演算法導論 裡面有很詳細的約束圖的構建過程。這裡講一下我的個人理解。s i 為從0至i時刻僱傭的人數,t i 為i時刻應聘的人數,r i 為i至 i 1 24時間段需要的...

POJ3169差分約束 SPFA 差分約束

思路 假設i j 兩隻奶牛可以站在同乙個位置,但是必須公升序排列,所以有差分約束方程d i d i 1 0 對於兩隻有好感的奶牛有差分約束方程d j d i k 對於兩隻反感的奶牛有差分約束方程d i d j k 有了約束方程就可以spfa include include include inclu...