摘要:
#include #include #include #include #define N 200100 #define INF 100000000 using namespace std; int ecnt=1,vis[N],dist[N],n,m,S,T,ans,head[N]; deque q; struct adj { int nxt,v,w,c; }e[N]; inline ... 阅读全文
摘要:
一个点带权的图,有一些指向关系,删掉一个点他指向的点也不能留下,问子图最大权值 题解: 这是最大权闭合团问题 闭合团:集合内所有点出边指向的点都在集合内 构图方法 1.S到权值为正的点,容量为权值 2.权值为负的点到T,容量为权值绝对值 3.原图所有点容量为INF 4.正权值和-最小割=最大权值 5 阅读全文
摘要:
题面: 有两个集合,现在又n个点,第i个点在A集合花费Ai代价,在B集合花费Bi代价 然后又m个限制,每个限制是a,b,c,说a和b如果不在一个集合就会多花费c代价。 现在要让每个点属于一个集合,求最小代价 题解: 相当于把n个点划分为两个集合,我们设A为源点S,B为汇点T,对于每个点向S和T连权值 阅读全文
摘要:
将牛拆为两个点. 原点向食物连边,食物向牛1连边,牛1向牛2连边,牛2向饮料连边,跑最大流即可 阅读全文