POJ1548最小路徑覆蓋

2022-09-05 01:33:13 字數 800 閱讀 2078

題意:

給你乙個dag,然後問你最少多少條路徑能覆蓋所有需要覆蓋的點。

思路:最小路徑覆蓋,太明顯了,每個點向它右下方的點連邊,然後...沒啥難的地方,不說了。

#include

#include

#define n_node 24 * 24 + 10

#define n_edge 24 * 24 * 24 * 24 + 100

typedef struct

node;

typedef struct

star;

node node[n_node];

star e[n_edge];

int list[n_node] ,tot;

int mkdfs[n_node] ,mkgx[n_node];

void add(int a ,int b)

int dfs_xyl(int x)

}return 0;

}int main ()

n = nowt;

memset(list ,0 ,sizeof(list));

tot = 1;

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

for(j = 1 ;j <= n ;j ++)

memset(mkgx ,255 ,sizeof(mkgx));

int ans = 0;

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

printf("%d\n" ,n - ans);

}return 0;

}

poj 1548最小路徑覆蓋

題目大意 給出乙個矩陣,從最左上點到最右下點走,並且只能往下走和往右走,在矩陣中的一些格仔中有含有乙個 g 問最少從最左上到最右下走多少次,能把所有的g都走到 解題思路 很明顯,要將所有的g都走到,這樣可以聯想到最小路徑匹配,然後就是怎麼建圖 建圖 對於任意兩個含有 g 的點,如果a點在b點的左上方...

POJ 1548 Robots 最小路徑覆蓋

題目鏈結 題目要求用少的機械人訪問所有的點,也是說找最少的路徑訪問所有的點,也就是最小路徑覆蓋問題。題目的關鍵是如何建圖,因為機械人只能向下走或者向右走,那麼就在當前的垃圾點所在的行往下,每一列出現的第乙個垃圾點之間建一條邊即可。const int maxn 25 const int maxm 25...

POJ 1548 Robots(最小路徑覆蓋)

題目鏈結 題意 乍一看還以為是小白上那題dp,事實上不是,就是求一共幾個機械人能夠覆蓋全部路徑 思路 最小路徑覆蓋問題。乙個點假設在還有乙個點右下方,就建邊。然後跑最小路徑覆蓋就可以 include include include include using namespace std const ...