并查集

 //在此之前,除了模板题,我的并查集可能只是用来写kruskal的。

    不知道为什么我们的语言作业里突然出现了一道并查集的题——食物链,有dalao建议先做一下团伙,再做食物链。

   于是这两道题我都做了一下。

   团伙:https://www.cnblogs.com/LiqgNonqfu/p/9827787.html

   食物链:https://www.cnblogs.com/LiqgNonqfu/p/9828479.html

    

    这两道题本质上最终连成的都是单向环,一个二元,一个三元,通过设置边权来表示彼此的关系。(只不过团伙由于问题特殊,用环的思路有些麻烦,我的题解里的做法只是简单的合并)这样的集合结构,都可以加入并查集来优化,用一个另外的数组储存一个成员与其父亲的关系,那样就可以算出任何两个成员的关系,用上路径压缩,就能跑得很快了。

posted @ 2018-10-22 19:23  liqgnonqfu  阅读(128)  评论(0编辑  收藏  举报