BZOJ 3436 小K的農場

2022-05-20 23:19:06 字數 1880 閱讀 9110

題解:  差分約束 模板題

差分約束系統  聯絡 最短路

對於操作1:$ a-b\geqslant c\rightarrow b\leqslant a-c $ 也就是說a向b連一條-c的邊

對於操作2:$ a-b\leq c $ 也就是b向a連一條c的邊

對於操作三:$ a-b\leq 0 $ 和 $ b-a\leq 0  $  也就是a向b連一條0的邊  b向a連一條0的邊

#include #include #include #include #include #include #include #include #include #include #define mp make_pair

#define pb push_back

#define pii pair#define link(x) for(edge *j=h[x];j;j=j->next)

#define inc(i,l,r) for(int i=l;i<=r;i++)

#define dec(i,r,l) for(int i=r;i>=l;i--)

const int maxn=3e5+10;

const double eps=1e-8;

#define ll long long

using namespace std;

const int inf=1e9+7;

struct edgee[maxn<<1],*h[maxn],*o=e;

void add(int x,int y,int vul)

ll read()

while(isdigit(ch))x=x*10+ch-'0',ch=getchar();

return x*f;

}queueque;

bool vis[maxn];

int du[maxn];

bool vi[maxn];

int dis[maxn],n;

vectorvec;

bool spfa(int t)

}} }

return 1;

}int main()

inc(i,1,n)dis[i]=inf;

inc(i,1,n){

if(vi[i])continue;

bool flag=spfa(i);

for(int j=0;jtime limit: 10 sec  memory limit: 128 mb

submit: 2144  solved: 1011

[submit][status][discuss]

背景小k是個特麼喜歡玩mc的孩紙。。。

描述小k在mc裡面建立很多很多的農場,總共n個,以至於他自己都忘記了每個農場中種植作物的具體數量了,他只記得

一些含糊的資訊(共m個),以下列三種形式描述:農場a比農場b至少多種植了c個單位的作物,農場a比農場b至多

多種植了c個單位的作物,農場a與農場b種植的作物數一樣多。但是,由於小k的記憶有些偏差,所以他想要知道存

不存在一種情況,使得農場的種植作物數量與他記憶中的所有資訊吻合。

第一行包括兩個整數n和m,分別表示農場數目和小k記憶中的資訊的數目接下來m行:如果每行的第乙個數是1,接

下來有三個整數a,b,c,表示農場a比農場b至少多種植了c個單位的作物如果每行第乙個數是2,接下來有三個整數a

,b,c,表示農場a比農場b至多多種植了c個單位的作物如果每行第乙個數是3,接下來有兩個整數a,b,表示農場a

種植的數量與b一樣。1<=n,m,a,b,c<=10000

如果存在某種情況與小k的記憶吻合,輸出」yes」,否則輸出」no」

3 33 1 2

1 1 3 1

2 2 3 2

yes樣例解釋

三個農場種植的數量可以為(2,2,1)

BZOJ3436 小K的農場

差分約束系統。分析一下三種情況 1.農場a aa比農場b bb至少多種植了c cc個單位的作物 即a b c b a ca geq b c b leq a c a b c b a c,a aa向b bb連一條長度為 c c c的單向邊。2.農場a aa比農場b bb至多多種植了c cc個單位的作物。...

BZOJ 3436 小K的農場

time limit 10 sec memory limit 128 mb submit 938 solved 417 submit status discuss 背景小k是個特麼喜歡玩mc的孩紙。描述小k在mc裡面建立很多很多的農場,總共n個,以至於他自己都忘記了每個農場中種植作物的具體數量了,他...

BZOJ 3436 小k的農場(差分約束)

description 背景 小k是個特麼喜歡玩mc的孩紙。描述小k在mc裡面建立很多很多的農場,總共n個,以至於他自己都忘記了每個農場中種植作物的具體數量了,他只記得一些含糊的資訊 共m個 以下列三種形式描述 農場a比農場b至少多種植了c個單位的作物,農場a比農場b至多多種植了c個單位的作物,農場...