洛谷P1993 小K的農場 差分約束

2022-09-01 10:18:14 字數 1093 閱讀 9486

小k在mc裡面建立很多很多的農場,總共n

n個,以至於他自己都忘記了每個農場中種植作物的具體數量了,他只記得一些含糊的資訊(共m

m個),以下列三種形式描述:

但是,由於小k的記憶有些偏差,所以他想要知道存不存在一種情況,使得農場的種植作物數量與他記憶中的所有資訊吻合。

顯然差分約束。

條件1 →a−

b≥c→

b+c≤

a→a−

b≥c→

b+c≤

a條件2 →a−

b≤c→

a−c≤

b→a−

b≤c→

a−c≤

b條件3 →a≤

b,b≤

a→a≤

b,b≤

a然後跑最長路,判正環即可。

#include

#include

#include

using

namespace std;

const

int n=

10010

;int n,m,x,y,z,tot,head[n]

,dis[n]

;bool vis[n]

;struct edge

e[n*3]

;void

add(

int from,

int to,

int dis)

bool

spfa

(int x)

//dfs版spfa

} vis[x]=0

;return1;

}int

main()

else

if(x==2)

else

}memset

(dis,

0xcf

,sizeof

(dis));

dis[0]

=0;if

(spfa(0

))puts

("yes");

else

puts

("no");

return0;

}

洛谷P1993 小K的農場 差分約束

對於n nn個物品,給出m mm個限制關係,分別是 1.a aa比b bb至少多種c cc單位的作物。2.a aa比b bb至多多種c cc單位的作物。3.a aa和b bb的作物數相等。求問是否滿足這樣的一種情形,符合所有的限制關係。不妨記f f f 表示 的作物數,顯然各條件等價於 1.f a ...

洛谷P1993 小K的農場

小k在mc裡面建立很多很多的農場,總共n個,以至於他自己都忘記了每個農場中種植作物的具體數量了,他只記得一些含糊的資訊 共m個 以下列三種形式描述 但是,由於小k的記憶有些偏差,所以他想要知道存不存在一種情況,使得農場的種植作物數量與他記憶中的所有資訊吻合。輸入格式 第一行包括兩個整數 n 和 m,...

洛谷P1993 小K的農場

這道題的實質是差分約束。我們逐個分析。設 a 農場中有 d a 個單位植物,b 農場為 d b 對於第一點,則滿足 d a d b geq c 變形下就變成 d b d a leq c 對於第二點 d a d b leq c 對於第三點 d a d b 即 d a d b 0 變成不等式就要同時滿足...