差分約束系統,a到b有一條長度為c的邊,表示b至多比a多c。
那麼對於操作1,a比b多至少c,等價於b比a多至多-c。
然後矛盾的情況就是,a比a多至多<0,即存在負環,記得跑最短路。
#include#include#include#include#include#include#define inf 0x7fffffff
#define maxn 10010
using namespace std;
int next[maxn],head[maxn],to[maxn],len[maxn];
int dis[maxn];
int n,m,num,flag=0;
bool vis[maxn];
void spfa(int x)
dis[to[p]]=dis[x]+len[p];
spfa(to[p]);
}vis[x]=0;
}void addedge(int x,int y,int z)
int main()
if (op==2)
if (op==3) addedge(x,y,0);
} for (int i=1;i<=n;i++)
if (flag) printf("no\n"); else printf("yes\n");
return 0;
}
BZOJ 3436 小k的農場(差分約束)
description 背景 小k是個特麼喜歡玩mc的孩紙。描述小k在mc裡面建立很多很多的農場,總共n個,以至於他自己都忘記了每個農場中種植作物的具體數量了,他只記得一些含糊的資訊 共m個 以下列三種形式描述 農場a比農場b至少多種植了c個單位的作物,農場a比農場b至多多種植了c個單位的作物,農場...
BZOJ 3436 小K的農場 差分約束
原題鏈結 背景小k是個特麼喜歡玩mc的孩紙。描述小k在mc裡面建立很多很多的農場,總共n個,以至於他自己都忘記了每個農場中種植作物的具體數量了,他只記得 一些含糊的資訊 共m個 以下列三種形式描述 農場a比農場b至少多種植了c個單位的作物,農場a比農場b至多 多種植了c個單位的作物,農場a與農場b種...
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個單位的作物。...