與1連通的點的個數

2021-10-10 11:58:07 字數 498 閱讀 2332

這道題是並查集的典型應用

兩個點聯通即可以表示兩個點在同乙個集合中

我們需要對不同的集合進行維護

使用並查集是比較優化的方式

需要注意的是題目中儲存每個節點的數量的s陣列,只對根節點的s是有效的

#include

using

namespace std;

const

int n =

1e4+10;

int n, op;

int p[n]

;int s[n]

;//儲存每個點所在的集合的點的數量,只能保證根節點的數量是有效的

intfind

(int x)

intmain()

cout << s[

find(1

)]<< endl;

//只有根節點的s值是有效的,1號節點不一定是根節點

return0;

}

8連通 4連通的洪氾填充以及邊界填

運用八連通邊界填充演算法 進行多邊形的填充 1 首先通過顏色混合的方式形成乙個圖形包中函式的對多邊形的填充,如下圖所示 注 主要 如下 實現多邊形的簡單填充 include include void init void void linesegment void int main int argc,...

OpenCV筆記(1) 連通域分割實現

最近在做乙個東西,需要使用字元的分割,如下圖所示 可以看到這裡的每個字元互相之間是沒有粘連的,那麼如何把他們分割開來呢?乙個很簡單的想法就是通過連通域進行分割,每個字元是乙個連通域,不同字元之間是不同的連通域,因為這裡沒有粘連,所以處理起來是非常方便的。那麼重點就來了,如何實現連通域的分割呢?原來的...

837 連通塊中點的數量

給定乙個包含n個點 編號為1 n 的無向圖,初始時圖中沒有邊。現在要進行m個操作,操作共有三種 c a b 在點a和點b之間連一條邊,a和b可能相等 q1 a b 詢問點a和點b是否在同乙個連通塊中,a和b可能相等 q2 a 詢問點a所在連通塊中點的數量 輸入格式 第一行輸入整數n和m。接下來m行,...