C 小花梨判連通

2021-09-23 08:02:09 字數 718 閱讀 7151

題意: 

給你k張圖,每個圖有點和邊。輸出每個點1 2...n的點在每張圖裡面都聯通的點的個數。

思路: 

染色也行,並查集也行。在k張圖裡面給每個點染色。

比如有3個點,4張圖。染色情況如下

點1:1 1 1 1

點2:1 1 2 2 

點3:1 1 2 2

將每個點的k個染色情況作為map的key,點2(1 1 2 2)=點3(1 1 2 2)說明兩個染色情況一樣。就說明兩個點在所有的圖中都是來南通的。

#include using namespace std;

#define ll long long

#define inf 0x3f3f3f3f

const int maxn=100005;

int fa[11][maxn],a,b;

map,int> map;

vectorv[maxn];

int find(int x,int k)

void unit(int x,int y,int k)

int main()

} }for(int i=1;i<=k;i++)

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

for(int i=1;i<=n;i++) printf("%d\n",map[v[i]]);

return 0;

}

小花梨判連通

美登杯 上海市高校大學生程式設計邀請賽 華東理工大學 2019年5月18日 problemc 小花梨判連通 時間限制 2000ms 空間限制 512mb description 小花梨給出n個點,讓k位同學對這n個點任意新增無向邊,構成k張圖。小花梨想知道對於每個點i,存在多少個點j 包括i本身 使...

「美登杯」 C 小花梨判連通

題意 給定n個點和基於這n個點為基的k張無向圖 輸出每個點所在的聯通塊數量 滿足所有的圖 並查集並不好操作 可以 進行dfs染色 然後把染色情況加入到color 再進行對映 顯然如果兩個點的染色情況完全一樣 那麼就在同一點 includeusing namespace std input by bx...

小花梨的陣列

probleme 小花梨的陣列 時間限制 1000ms 空間限制 512mb description 小花梨得到了乙個長度為n的陣列a,現在要對它進行三種操作 1 l r對所有的i l,r a i a i minprime a i 2 l r對所有的i l,r a i a i minprime a ...