第十一周总结

并查集补充:并查集题目主要难点在于如何由子类寻找父类,集合的合并。主要分为1:初始化。 2:查找父类。 3:让两个不关联的并查集关联起来。4:压缩路径,使子类全部向最高级父类直接联系

拓扑排序就是对所有结点排序,寻找入度为0的点,再运行过程中不断修改入度,判断是否成环十分好用。

经过两周对并查集的学习,我对于并查集处理问题有了更好的理解,下面就是我ac题目过程的感受。并查集的内容不多,大多数题目直接套用模板就可以求得。只针对不同题目思考的方式不同处理也有些差距。

1.利用二分和并查集解决的题目:[USACO05MAR]Out of Hay S - 洛谷

把边权小于mid的边的两端点都并起来,看最后是否只剩一个联通块,这个题目在刚看到的时候感觉是无从下手的,在看了几篇博客之后发现并查集可以和二分联系起来,这样这个题只需要判断和mid的关系就可以轻松的求出。

2.利用最小生成树,Kruskal算法:局域网 - 洛谷

这类题目的处理方法是我们课上的方法,也是比较容易理解的(个人认为)。Kruskal属于贪心算法,也就是说这个方法只考虑了眼前的最优解,每一步都要最好的。每次都将权值最短的边收进来:可以将每个顶点都看成一个森林,然后将权值最短的边的顶点连接起来,在不构成回路的情况下,将这些森林合并成一棵树。但是对于是否构成回路判断是关键,也是我难理解的地方。

3.利用SPFA法求最短路径问0题:营救 - 洛谷

SPFA 法是求最短路径比较快的方法,它可以处理大部分情况而且容易写。每次将点放入队尾,执行中处理的数据会越来越小而且处理的都是最短,最有效的方法。

这也就是我这周a题的收获,对于这类题还是比较好理解的,但是在周六的牛客比赛上我只做出来了三道题,也不是说再努力也做不出来的程度,只是想拿出时间再继续做并查集和拓扑的题目。现在十一周安排也越来越紧了,要拿出更多的时间投入了,就如同贪心算法一样,做到眼下的最优,这样的最优聚集起来之后结果肯定会是好的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值