SSLOJ 1340 最小路徑覆蓋

2022-08-26 04:39:09 字數 1330 閱讀 8757

題目

description

input

t 表示有t組資料;n 表示n個頂點(n<=120);m 表示有m條邊; 

接下來m行,每行有兩個數 i,j表示一條有向邊。 

output

最小路徑覆蓋數

sample input

2 43

3 41 3

2 33

31 3

1 22 3

sample output

2

1

分析

把原圖的每個點v拆成vxvy兩個點,

如果有一條有向邊a->b,那麼就加邊ax>by

。這樣就得到了乙個二分圖。

那麼最小路徑覆蓋=原圖的結點數-新圖的最大匹配數。

**

1 #include2 #include3

using

namespace

std;

4int

n,m,x,y;

5bool cover[10001];6

int link[10001

];7 vector f[10001];8

bool find(int x) //匹配9

20}21return

false;22

}23intmain ()

2438

int ans=0;39

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

4044 cout46 }

SSL1340 最小路徑覆蓋

定義 乙個不含圈的有向圖g中,g的乙個路徑覆蓋是乙個其結點不相交的路徑集合p,圖中的每乙個結點僅包含於p中的某一條路徑。路徑可以從任意結點開始和結束,且長度也為任意值,包括0。請你求任意乙個不含圈的有向圖g的最小路徑覆蓋數。t 表示有t組資料 n 表示n個頂點 n 120 m 表示有m條邊 接下來m...

最小路徑覆蓋問題(最小路徑覆蓋)

本題題目描述可以發現很明顯的最小路徑覆蓋問題,又因為最小路徑覆蓋 節點數 二分圖最大匹配數,所以本題可以用匈牙利演算法求出二分圖最大匹配數,也可以向第一題那樣用網路流模型求出最大匹配數。本題建模時不同在於,每個點要分成兩個點,乙個為起點,乙個為終點,再來求二分圖最大匹配。然後麻煩就在於本題也要輸出路...

最小路徑覆蓋

zoj 2521 led display 題意 七段數碼顯示器,乙個數碼上的7段燈可以選擇滅掉一些後重複使用這個數碼,但滅掉的段不能再亮了。比如 6 可以 滅掉左小角的一段變成 5 來使用。但自己不能重複使用,即最少滅一段才能再次使用。現在按次序給出 乙個要現實的數碼序列,求需要的最少的燈數,使得能...