寒假前半部分集训总结

在寒假的前半段集训里面,我有着除本身应该学习的知识以外,还在双号日的做题之中,也找到了在之前学习的算法之中存在的一些小问题。比如在结构体排序之中,我经常会将代码写成这样

bool cmp(edge a,edge b)
{
      if(a.w != b.w) return a.w < b.w;
}

而这样写的话可能会造成RE,虽然自己不太理解这之中的奥秘,不过大概是因为我并没有排在a.w = b.w 这种情况下的排序。当然,这肯定是有用的,因为之前写的题能过,那是因为可能数据刚好过了。总之,这是一个大问题。

总结一下吧,在这个寒假小集训之中,我们学习了并查集,最小生成树,其中包括了克鲁斯卡尔算法(从边开始搜索),普里姆算法(从点开始搜索)。还有最短路,分别包括迪克斯特拉算法,弗洛伊德算法。在寒假这7天当中,大概做到了可以手敲并查集,克鲁斯卡尔,普里姆(不完全熟悉)。并掌握了两种并查集的写法,并且可以稍许灵活使用,也算并查集入门了。由于克鲁斯卡尔是带权并查集的改良,所以也算入门了克鲁斯卡尔,而普里姆因为不经常使用的关系,所以并不多熟悉。
而最短路里面的东西,比如说迪克斯特拉算法,由于是我由普里姆算法推倒过一遍,所以有点印象。但是,没怎么用所以想要很熟悉的手敲出来也可能是不现实的,因为动脑想还是需要一定的时间。

总而言之,其实学的东西都是一些思路,在这其中我觉得最重要的一点,就是经过不断的做题,从而获得的代码力的提升。从最开始的写出一个并查集不断WA不断改错 , 到后面的一遍过,都能证明这一点。而在找BUG的过程中我也了解到了持之以恒的重要性。而我也体会到了改了一下午BUG过后改出来的快感,虽然可能只是一个很小的错误。可是也能让我实力有所提升。当然,也让我爱上了改BUG。(笑)

希望在下半段的集训当中能有更好的表现,并且能有比寒假上半段更有效的提升。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容