COGS血帆海盜

2021-08-04 16:53:27 字數 1106 閱讀 6018

對於已經增廣後的圖,會出現一些反向邊,首先跑一邊最大流,只有對於被增廣的路才有可能成為答案,考慮每一條被曾廣的路,如果他在殘留網路中兩個端點在同乙個強連通分量裡,必然有其他的路徑可以代替這條邊,比如圖中1 2 3 4 構成乙個環3-》2-》1-》4-》3,3-》2可以替代原來的1》2,所以只有那些被增廣後,起點終點不在乙個強連通分量裡,才對答案有貢獻

#include#include#include#include#define n 100005 

using namespace std;

int n,m,cnt=0,k=0;

struct edge

b[n*4];

int head[n];

bool v[n*2];

void add(int u,int v,int w)

int dfn[n],low[n],ti=0,s[n],num=0,be[n],he=0;

bool vis[n];

void read()

for(int i=n/2+1;i<=n;i++)

for(int i=1;i<=m;i++)

}int d[n];

bool bfs()

}return 0;

}int dfs(int now,int f)

b[i].w-=k;b[i^1].w+=k;tmp-=k;

}return f-tmp;

}void targan(int x)

else if(vis[to]==1) low[x]=min(low[x],dfn[to]);

}int z;

if(dfn[x]==low[x])

}}int ans=0;

void judge()

for(int i=1;i<=n/2;i++)

for(int j=head[i];j!=-1;j=b[j].ne)

if(b[j].to>i&&b[j].to!=cnt&&b[j].w==0&&be[i]==be[b[j].to]) ans--;

}int main()

COGS 345 共榮圈 426 血帆海盜

題面 網路流 tarjan好題,但如果你真的的理解了網路流反向邊的作用,那這就是一道大水題 題目要求出一定在最大流中的邊的數目,顯然先跑網路流 廢話 然後考慮到題目要求的是一定在最大流中的邊,換就話說,這條邊要不可替代,什麼邊不可替代呢 割邊 大霧 連線著兩個強連通分量的邊。為什麼呢?若一條邊在某個...

COGS 426 血帆海盜 最小割 強連通分量

隨著資本的擴大,藏寶海灣 親王在卡利姆多和東部王國大陸各建立了 n 2 個港口。大災變發生以後,這些港口之間失去了聯絡,相繼脫離了藏寶海灣 親王的管轄,各自為政。利益的驅動使得每個港口都想和對岸大陸的另乙個港口建立 合作關係,由於地理位置因素,只有存在直接到達的航線的兩個港口才能建立合作,而且每個港...

智慧型家居的藍海征途,唯技術之帆可行

智慧型家居的定位決定了其發展的根本在於技術的進步,目前市場競爭中貼牌 代工的投機斂財不過是市場成熟前的混亂。待到技術和行業標準成熟,智慧型家居就可以真正走進千家萬戶。針對大火的alphago,日前馬雲放話 我個人覺得so tm what 他認為 機器智慧型 是比 人工智慧 更應該關注的方向。智慧型應...