阶段学习总结--学习体会

这周主要是做题,还打了一场牛客的比赛,直观感受就是假期底子没打好,stl容器那一块的习题还是做的太少了,应用不够得心应手。资料看的不够、题练的不够多,需要抽时间弥补。

并查集这周做的题有3、5道都是用的最小生成树的思路,即先排序,再合并,合并时根据题目不同要求决定何时输出边权,或输出当前记录累计边权之和。例题如

修复公路 - 洛谷(排序,合并n--,n为1时,即所有点都在一个集合,此时输出边权)

口袋的天空 - 洛谷 (排序,合并n--,n==k时,说明目前有k个独立集合)

村村通 - 洛谷 (ans=n,每合并一次ans--,最后输出ans-1(头节点))

[USACO3.1]最短网络 Agri-Net - 洛谷 (排序,将不连通的边权累加和,输出和)

...

再如求满足题意最小中的最大

营救 - 洛谷 (kruscal,排序,记录最后一个未连通的点的边权然后输出)

[USACO05MAR]Out of Hay S - 洛谷 (输出已经存在的边权的最大值即可)

再如并查集+贪心 (贪心这个理解的不是很到位,需要深入学习)

搭配购买 - 洛谷 (将强制搭配的云朵进行合并,同时维护集合的总价值与总花费(头节点存储),再对集合进行贪心)

还有用map建立字符串之间的映射的,每个节点本身是字符串,父亲、祖宗节点也都是字符串。用map<string,string>即可,其他操作跟并查集基本操作区别不大

最有意思的还属食物链这种类型的题,用到祖宗节点的距离来表示节点之间的关系

240. 食物链 - AcWing题库 (若xy根节点相同,x、y到根节点%3的值不同则是假话,xy根节点不同则合并(合并时,xy父节点之间的距离应满足x到px-y到py+距离的结果%3等于0,故把xy父节点之间距离设为dy-dx)

选择题 - 洛谷 (主要思路与食物链这个相似,带权并查集,维护到祖宗节点距离的信息。若为1,即两个选项同类,0为不同类。合并时距离的偏移量设为距离相加%2即可

    int tmp=get(i);
	f[tmp]=get(x);
	r[tmp]=(r[i]+r[x]+op+1)%2;

两个节点距离%2不同则不属同一类。没有答案的情况就是已确定%2的结果,但后续输入与之前结果不同。)


接触acm后思维转变挺大的。现在逐渐能静下来,每晚固定时间坐下来、沉下心来看资料写题目,收获颇多。刚入学的时候,这个活动也想参加一下,另一个社团也想尝试一下,还美其名曰综合提升自我。现在的话,就拿课程来说吧,在一开始就了解到大学物理跟专业以后的发展完全无关,而且也不是某些课的基础,所以我是一点都没有听老师的课,考试怎么办?还是高中应试教育的老一套呗,既然没必要深入理解学习,就直接2、3倍速看知识点总结,然后刷题就可以了。像c++这种需要深入理解学习的,我一般都是直接看c++primer,这样能学的深一点,说实话有些地方讲的比任课老师讲的到位,上课只带一张纸,不抄课件,只记录能让自己感觉到灵光一闪、恍然大悟的地方。

上课的时候老师谈到过java的学习,当时真的感觉跟老师有相当强烈的共鸣。我用差不多三节大物课把java基本语法、面向对象特性学完了。然后在一个晚上用链表写了个图书馆系统(因为当时c++也有一个类似的作业,两个代码思想基本没变,顺手写完了)。Java的书我看的是java核心卷1,因为大部分人都推荐c++转java用这本书。学完的直接感受就是:我是一个无情的翻译机器。所有的Java代码都没有从Java的特性的角度出发去写,而是以c++的思想构思好,然后用另一种语言写出来(所以说老师推荐的java编程思想应该可以解决这个问题,不过现阶段是不打算看了,以后啥时候打算开始专心搞Java再回头买)。代码折腾到凌晨,虽然写完了,心里还是不踏实。为什么?没学到东西。而且时间浪费的还不少。那一周关于算法的学习也落下了,那周打cfdiv3只出了一个题(赛后看题解b题思路完全正确,当时心太乱,循环写到一半不想写了)。不会吗?不是,是心不静。在写出来要求的图书馆系统之后,半夜,我退了所有关于java的群聊,不是因为java不好,也不是因为外界因素,而是内因。自己能力不行,水平不够,学不明白。那周的学习给我带来了什么?很混乱。感觉做了很多,又感觉什么都没有做好,什么都没有做。于是我在朋友圈发了一句话:“贪多嚼不烂”。

从前看到身边的人在学什么,我便会有些慌张,生怕我落下什么。现在则可以完全不在意别人在干什么,在学什么。不跟身边人竞争什么,毕竟天花板在更远的地方。出几个题,提交几次,无所谓,自己学到了什么,感受到了什么,这些东西才是自己的。夸赞永远是你做好一件事的副产品,不要颠倒了主次关系。就像本人学校的oj系统,有的用户为了排名开小号、直接照抄答案,最后自己的排名高高在上,反倒不屑于那些一个题反复交至10、20多次的同学。究竟谁学到的东西多,谁花费了额外的精力,去维护一些没必要的东西。

学习永无止境,找到最高效的学习方式,需要学的东西深下去、沉下心学透彻,不需要学的东西不要牵扯、分散自己的注意力,贪多嚼不烂,学不透,到最后只会学到皮毛。做一件事情就要做到极致,成为最顶尖的人,虽然很难,我也从未成为拔尖的那一部分人,但不妨碍我坚持自己的路。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值