ACM总结

    通过半个学期对ACM的学习,使我对程序有了很深的理解,回想一下学到了很多平常上课学不到的东西,锻炼了我的思维能力,很多思想不仅对解题有用,对于平常的生活也有很多用处。刚开始接触ACM的时候,感觉知识都很深奥,理解起来都要花费很大的力气,但内心依然坚持,享受花费力气解出题目,解决许多麻烦后让程序ac的快感。

    通过ACM的训练对自己的本身带来了很多好处,首先,自己的编程能力得到了大幅度的提升,ACM比赛注重短时间内写出正确的代码,这锻炼了我们在短时间内想出最优,最正确的办法来解决问题,锻炼了我们的思考问题的能力,提高了大脑的思维活跃能力,还可以说丰富了我们的想象力。其次,我们的算法能力得到了很好的锻炼,学到了课程内没有学到的知识,拓展了自己的知识面。在以前的教科书里,算法是计算机学科的核心,虽然现在淡化了这种观念,但基本的算法学习是必不可少的,简便的算法可以是我们用最少的时间,占用最少的空间来解决一个问题,同时拥有一个扎实的基本功才能更深入的更快的学习高层的知识,不管做哪一行,具备扎实的基本功是必不可缺的,算法和数学的功底是计算机研究必备的条件。ACM的比赛中还强化了我们的团队配合能力,如何在团队中发挥自己最大的贡献,提高配合效率都可以通过ACM比赛来学习。

    学习ACM还有一个很重要的好处,它可以影响到自己未来的发展。ACM竞赛是具有权威性的,它可以选拔出计算机界高质量的人才,为世界各大IT公司提供新鲜血液。很多公司对ACM都非常的支持,同时很多大公司也推出各种竞赛,并通过高额奖金吸引人才。学好ACM,并通过竞赛来证明自己的实力,得到大公司的青睐是一名ACMer的梦想。

    ACM好处多多,但学习ACM也是需要付出的,ACM需要长时间的积累,想要得到好成绩需要花费大学里大量的空闲时间,要想拥有坚实的基础需要用大量的题目来夯实自己的基础,提高自己的思维,判断,逻辑等能力。老师说过的ACM成功秘诀:强烈的兴趣+睿智的思想+不懈的努力。

半个学期对ACM的学习总结主要学习了一下几个方面:

1、        STL简单应用。

2、        递归递推算法。

3、        动态规划算法。

4、        背包基础。

5、        贪心算法。

6、        二分三分法。

7、        搜索算法。

8、        数据结构。

9、        最短路径问题。

<一>第一课学习的是STL的简单应用,STL就是标准模版库,包含了一些简单函数,有向量(vector) 队列(queue) 堆栈(stack) 集合(set)等:

1)、栈:一种先进后出的数组结构,它有一个出口,只能操作最顶端的元素。empty() 表示栈内是否为空; size()返回栈内元素个数;top() 返回栈顶元素值; pop() 移除栈顶元素; push() 像栈压入一个元素。

2)、队列:一种先进先出的数据结构,从底端加入元素,从顶端取出元素。 empty() ;size();pront() 返回队列内下一个元素; back() 返回对内最后一个元素; pop() ;push()。

3)、动态数组:empty() ; size() ;push_back() 将元素插入最尾端; pop_back() 将最尾端元素删除; v[i] 类似数组取第i位置的元素。

4)、sort: 排序,默认从小到大排序;sort(begin,end,cmp)。可以通过自定义,改变排列规则。

5)、upper_bound、lower_bound:upper_bound(begin,end,value) 返回

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值