-
2007-05-10
写两个并查集的基本操作 - [我的OI]
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://iuaaui.blogbus.com/logs/5322626.html
没事写两个并查集的基本操作
1。路径压缩
2。启发式合并function Find(now:longint):longint; begin if now=fa[now] then Find:=now else begin Find:=Find(fa[now]); fa[now]:=Find; end; end;
procedure Union_Set; begin a_fa:=Find(a); b_fa:=Find(b); if rank[a_fa]<rank[b_fa] then fa[a_fa]:=b_fa else begin fa[b_fa]:=a_fa; if rank[a_fa]=rank[b_fa] then inc(rank[a_fa]); end; end;
最简单的题目见NOI2002_Day1_Galaxy
随机文章:
NOI_2002_Day2_jerrygen_Sol 2007-05-14IPSC—TOTALLY UNLUCKY 2007-05-12两道比较经典的树型动态规划 2007-05-09三分法单谷求极值 2007-05-05可重复的排列&可重复的组合 2007-05-03
收藏到:Del.icio.us







