LibreOJ 6197 法克 上下界網路流

2021-08-20 07:41:47 字數 1007 閱讀 8731

給乙個有n個點m條邊的dag,問最多能選出多少個點使得選出的點兩兩不能到達。 n≤

105,m

≤2n n≤10

5,m≤

2n

根據某定理,最長反鏈=最小鏈覆蓋,注意這裡的鏈覆蓋是允許每個點被重複經過的。

當n比較小的時候,我們就可以通過傳遞閉包,將原圖轉為二分圖,然後跑最大匹配就好了。

樸素一點的做法就是把每個點拆點,在它們之間連下界為1的邊,然後跑上下界最小流,能得到較高的分數但還是比較慢。

考慮在建圖的過程中,我們可以直接構造出最大流,也就是把每條s->i->i+n->t都增廣一遍。

然後再考慮最小流的退流過程,那麼轉化後的建圖就變為:s向i連流量為1的邊,i+n向t連流量為1的邊,i+n向i連流量為inf的邊,然後對於圖上一條x->y的邊,從x向y+n連流量為inf的邊。

最後n-最大流即為答案。

#include

#include

#include

#include

#include

#include

const

int n=200005;

const

int inf=1000000000;

int n,m,s,t,cnt,last[n],cur[n],dis[n];

struct edgee[n*10];

std::queue

que;

void addedge(int u,int v,int c)

bool bfs()

}return0;}

int dfs(int x,int maxf)

return ret;

}int dinic()

return ans;

}int main()

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

printf("%d",n-dinic());

return

0;}

6 19學習筆記

一.什麼是css3?css3是css技術的公升級版本,css即層疊樣式表 cascading stylesheet 在網頁製作時採用層疊樣式 表技術,可以有效地對頁面的布局 字型 顏色 背景和其 它效果實現更加精確的控制。只要對相應的 做 些簡 單的修改,就可以改變同一頁面的不同部分,或者頁數不同 ...

d619 奇摩知識

內容 不爽寫程式的小光,轉換地方,開始為奇摩知識 奉獻,突然與腿肌同學,發現了某個人所提出來的問題,並展開激烈的討論,最後終於.不過此問題,是某個測試系統的題目.有意義的消音,多半是髒話.題目描述 大家都知道二進位制是由0和1兩種數字組成的,十進位制轉二進位制,小明現在要玩乙個遊戲,就是由1數到n,...

COGS 619 傳話 解題報告

janis 問題描述 興趣小組的同學來自各個學校,為了增加友誼,晚會上又進行了乙個傳話遊戲,如果 a 認識 b 那麼 a 收到某個訊息,就會把這個訊息傳給 b 以及所有 a 認識的人。如果 a 認識 b b 不一定認識 a 所有人從 1 到 n 編號,給出所有 認識 關係,問如果 i 發布一條新訊息...