並查集(空間O(n),時間O(1))

2021-08-14 16:22:06 字數 659 閱讀 2129

(詳解)

下面的**是 hdu1232

#include

#include

#include

#include

#include

using

namespace

std;

const

int maxn = 1e9+7;

const

int normal = 1050;

// 結構體的話 把陣列型別一起放到乙個結構體 就行

int parent[normal]; // 儲存根節點

int rank[normal]; // 儲存集合的深度 ,方便合併操作

int ans;

void ufset() // 初始化

}int find(int x) // 查詢x的根節點

while(x != r) // 把路徑上的所有點 都指向 乙個根節點

return r;

}void union(int x,int y) // 判斷 x和y 是否聯通 若不連通則合併

}int main()

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

}return

0;}

數字排序 o n 時間 o 1 空間

乙個時間複雜度為o n 空間複雜度為o 1 的排序演算法 收藏 乙個時間複雜度為o n 空間複雜度為o 1 的排序演算法 有n個大小不等的自然數 1 n 請將它們由小到大排序。要求程式演算法 時間複雜度為o n 空間複雜度為o 1 從這道題出題意圖來看,出題者主要是想考面試者的思維是否敏捷清醒 做事...

數字排序 o n 時間 o 1 空間

乙個時間複雜度為o n 空間複雜度為o 1 的排序演算法 收藏 乙個時間複雜度為o n 空間複雜度為o 1 的排序演算法 有n個大小不等的自然數 1 n 請將它們由小到大排序。要求程式演算法 時間複雜度為o n 空間複雜度為o 1 從這道題出題意圖來看,出題者主要是想考面試者的思維是否敏捷清醒 做事...

矩陣轉置 O 1 空間

為了方便,使用一維陣列來分析。所謂矩陣轉置,行變列,列變行。在轉置的過程中,有的元素位置是不變的 對於變化位置的元素,要求o 1 空間完成,那麼這些位置的變化一定是有著規律的。舉例,2 5的矩陣,a 轉置後為at 探索下標變化 0 0 1 2 4 8 7 5 1 3 6 3 9 9 這些下標的變化是...