洛谷P1330 封鎖陽光大學 DFS

2022-05-19 02:18:58 字數 770 閱讀 2863

**&題解參照

這是一題特殊的搜尋題,搜尋和染色結合。

注意事項如下:

一、資料可能給的不連通:要重新遍歷每乙個點,並且需要乙個used陣列表示有沒有搜尋過這個點。

二、這乙個dfs其實不需要回溯,因為染色的情況是唯一確定的,這樣可以快很多。

三、對於不連通的每一部分圖,應該分別計算並且相加結果。

四、還要注意題目中是求最小的,所以應該判斷兩種顏色較小的那一種。

#include using namespace std;

class edge

};edge edge[1000001];

int head[100001];

int cnt;

void add(int u, int v)

int n;

int m;

int used[100001];

int col[100001];

int sum[2];

bool dfs(int node, int color)

int main()

int ans = 0;

for (int i=1; i<=n; i++) //遍歷每乙個節點:防止圖不連通

ans += min(sum[0], sum[1]);

} cout << ans << endl;

return 0;

}

要段考了……有點慌……這幾天必須加緊複習了……

洛谷 P1330 封鎖陽光大學

曹是乙隻愛刷街的老曹,暑假期間,他每天都歡快地在陽光大學的校園裡刷街。河蟹看到歡快的曹,感到不爽。河蟹決定封鎖陽光大學,不讓曹刷街。陽光大學的校園是一張由n個點構成的無向圖,n個點之間由m條道路連線。每只河蟹可以對乙個點進行封鎖,當某個點被封鎖後,與這個點相連的道路就被封鎖了,曹就無法在與這些道路上...

洛谷 P 1330 封鎖陽光大學

題目描述 曹是乙隻愛刷街的老曹,暑假期間,他每天都歡快地在陽光大學的校園裡刷街。河蟹看到歡快的曹,感到不爽。河蟹決定封鎖陽光大學,不讓曹刷街。陽光大學的校園是一張由n個點構成的無向圖,n個點之間由m條道路連線。每只河蟹可以對乙個點進行封鎖,當某個點被封鎖後,與這個點相連的道路就被封鎖了,曹就無法在與...

洛谷 P1330 封鎖陽光大學

曹是乙隻愛刷街的老曹,暑假期間,他每天都歡快地在陽光大學的校園裡刷街。河蟹看到歡快的曹,感到不爽。河蟹決定封鎖陽光大學,不讓曹刷街。陽光大學的校園是 一張由n個點構成的無向圖,n個點之間由m條道路連線。每只河蟹可以對乙個點進行封鎖,當某個點被封鎖後,與這個點相連的道路就被封鎖了,曹就無法在與這些道路...