Codeforces325 D 並查集維護連通性

2022-02-28 22:18:01 字數 706 閱讀 1244

參考:大牛blog

思路:因為是環,所以可以複製一下圖,先判斷一下和他是不是和與他相鄰的8個之一的乙個障礙使得構成了乙個環,環就是乙個連通,用並查集維護即可;

如果沒有就ans++,然後並把這個點加入。

大致意思就是這樣。

#include #include #include #include #include #include #include #include using namespace std;

const int maxn=3000*3000*2+100;

const int dx[8]=;

const int dy[8]=;

int n, r, c, ti;

int ans;

int fa[maxn];

bool vis[3010][6010];

int mark[maxn];

int find(int cur)

void union(int u, int v)

bool check(int &x1, int &y1)

void merge(int x, int y)

}bool get_list(int x, int y, int id)

return true;

}void solve()

}int main()

Codeforces 437D 貪心 並查集

這個題目讓我想起了上次在湘潭賽的那道跪死了的題。也是最值問題,這個也是,有n個動物園 每個都有權值 然後被m條路徑相連線,保證圖是連通的,然後求所有的p i j 之和.i,j為任意兩個zoo,pij就為i到j路上遇到的包括i j在內的最小權值的zoo 然後我就焦頭爛額了一下,這個明顯就是看某個最小值...

Codeforces325 B 二分搜尋

題目 b.stadium and games 分析 問題可以轉化為下面的等式求解問題 由於n在10 18範圍內,所以k的範圍是從0到63即可,這樣就可以列舉k,二分m,然後所有符合條件的 就是答案了。注意這裡資料範圍的處理,不注意的話就會溢位的。include include include inc...

Codeforces 703D 樹狀陣列

codeforces 703d 題意 給1e6長度的區間,每個單位代表乙個數。給1e6個詢問,每次問區間內出現次數為偶數次的數異或和。思路 賽中的時候想莫隊水過去,結果pretest都沒過233 正解是樹狀陣列。首先假設是奇數次的話,就是乙個簡單字首和。現在偶數次,有乙個處理技巧就是記錄這個區間出現...