初接触acm或者编程的人可以参考一下我的经验
来源:互联网 发布:jquery javascript 编辑:程序博客网 时间:2024/06/05 16:59
这篇blog主要给校友看的,要是网友喜欢,小菜也灰常开心
本来已经花了一个多小时已经改写好了,然后并没有保存,我也是醉了,然后你现在看到的是我重新改写原来的blog,欲哭无泪啊,所以就。。。。
话说故事发生在2015年的那个秋风飒爽的日子里,然后长沙并没有什么秋风,只有冬天的寒冷和夏天的炎热,那时候鄙人也是菜鸟一只,当然现在也还是,在第一本书都没有学完的情况下自己就屁颠屁颠的接触acm,学的第一门语言叫c语言,由于没有什么事情做,我就写写代码吧,也只能这么过了,嘿嘿
当时的小白的心灵飘进了迷雾森林,但是看着自己的别人不断的追求新的学位,现在还在法国留学,心理就不能平静了。并且相比现在的我读着普通的一本大学,难道我宁愿做一名菜鸟孤孤单单的走在社会的大舞台中无人青睐吗?你愿意吗?
当然没有人愿意,马云说过:在中国找不到一个没有理想的人
于是乎,在学长建议下开始刷poj,谁知poj都是英文,当时连看中文翻译都够呛的我,怎么可能学的好的呢,怎么能够刷的了题目呢!!!??所以接下来的我,趋于疯狂的问学长,查资料,皇天不负有心人,最后发现hdu十一页都是简单的题目唉!!!哈哈,正适合我这种菜鸟练练手
因此,我便走上了刷题之旅
慢慢的经过一系列困难和一些阻碍之后,我自己总结出自己的一些经验,下面将为大家总结一下
先需要会用一个好编译器,然后锻炼好自己的代码风格,同时多看别人的代码,多上网搜
当然不是一昧的看别人的代码,最后要总结成自己的东西,这才是最终目的,建议开一个blog(不建议去网易,新浪写blog)方便复习呢!!也可以作为以后面试工作的筹码。
初学者应该积累一定的代码量,这样到后面才可以把知识沉淀下来的,水题(简单题)一定要多做,其次就是模拟题(就是题目给你的大方向,不完全需要自己想解决的办法,当然需要自己处理细节问题)
首先推荐几个好的软件
建议大家使用code block这个编译器(可以自己去找官网,90多兆大小的安装包)
这里的部分常用的快捷键是:
F9 build and run
F4 开始调试
F7 逐步调试
shift F7 进入函数内部调试
shift F8 终止调试
Ctrl C 退出程序运行的状态
建议使用搜狗浏览器类型的浏览器
它可以登录qq,保存数据在服务器,随时可以调用
()左上角点击搜狗标示的大圆圈,可以登录,然后上面一行可以保存你需要的一些网站)
建议先去hdu做几个适应性的题目(杭电acm的第一页的1089到1096)
然后再去地十一页按顺序做30到60道题目
(如果想一直想在航电做下去也没有关系)
因为acm比赛是英文题目,所以建议我们最后去poj做,因为上面的题目一般都是英文,中文的极少极少,这样可以压迫自己适应英文题目
建议在poj上面先做水题,分享一个网站(http://www.cppblog.com/uriel/articles/101596.html)
(水题中也会遇到很多困难,自己一个个把他们处理好,并且总结好,了解这些后有很大帮助的)
做水题时你需要知道:只有把基础打牢,你写代码才会没有那么多错误的,可以培养自己的编程的感觉,通过水题也见识很多东西,之后你再去接触一些东西会发现有些东西很简单的解决了(例如大数的运算)
在此同时建议了解一下算法的分类,助于后来你准备的判断方向,同样分享一个网站(http://www.cnblogs.com/kuangbin/archive/2011/07/29/2120667.html)
做完一百个水题之后呢?大家开始自己的道路,学一些简单的算法,通过上面的一个网站自己摸索,因为学习acm的人一旦入了门都是自学的,我们学校也没有老师指导,
当然同学之间还是可以互相探讨的,学这些算法也可以从网上搜简单的相关算法的的简单题目,以便让你在基础算法上入门。
要是大家不知道先做什么算法,就先做 字符串解密,大数,广搜,递归(递归有比较复杂的题目),总之,多利用网络
通过上面的介绍和大家的做题,大家一定知道了需要多多从网上找资料,所以呢大家有疑问多度百度或者Google,只是这几年Google需要一个改变的host文件才能进,自己百度一下怎么处理这个问题
下面提供一份刷了541个poj题目的大神题目页面,因为太大,当时电脑没有好的工具截图,只有将就着看一部分咯
以上网站都是借鉴他人
下面说说自己当时的入门的艰难过程“
当别人都在玩耍的时候,我就安奈不住自己的心,觉得自己应该做一点什么,而不是天天参加社团啊,为了班上那点破事,学生会啊,这些忙了一天又一天,而且并没有什么意义。。。。。
常说:大学里面没有什么比提高自己的价值要重要的,人脉什么的都将因为你有能力而长久
在这些组织里面,并不能让自己很高很快的提高自己的价值,反之,会让你在浑浑噩噩的生活中适应下去,难以跳出来,正是因为看到了天平的两端,提高自身价值的这一端被我看的太轻,所以我才会退协会,退班干部来保持这个天平的平衡,以达到自己内心的宁静
搞acm是孤独的,但是孤独是每一个人需要学习的,因为孤独是你人生最好的增值期
那时候,我一个人在寝室独自的敲着键盘,看着一行行代码的出现,即使一个题目可以卡到凌晨两三点,但是当看到AC的时候,心情也就瞬间好了,并且享受着其中的乐趣
当然acm并不是唯一的一条路,但是在这所大学里面,只有这一条路可以让自己走的安心,有学长带,有老师引导,还有大家期待并且害怕的暑假集训,还有享受着高荣誉的省赛,国赛,亚洲区预赛,那些大奖在引诱着我们
搞acm的好处:
可以提高自己的思维能力,思维方式,网上挖掘信息的能力,自学能力,提高自己的耐力,并且提高自己的编程风格
我们学校如果不搞这个的话,基本上大一的编程能力都不是很好,尚且大一的时间比较多,同时也是最有激情的时候,你可以专注的搞,等大二的时候专业课多了,你再选择其他的方向,也不迟,并且比一般人入门要快的多,容易的多,所以搞这个还是有很大的帮助的
谭林老师告诉我说:要是你不知道干嘛,就把手头的事情做好,而不是做的差不多就行了,可以多尝试一下,年轻犯错没太大关系,成本很低的,年轻要是不犯错,等你工作了,那些错误就犯不起了
- 初接触acm或者编程的人可以参考一下我的经验
- 分享一下我的创业经历,可以参考
- 推荐一些我觉得好的书,自学的朋友可以参考一下
- 我的编程经验
- 学习编程的过程中可能会走哪些弯路,有哪些经验可以参考?
- 总结一下 我接触的(学习的)那些项目
- 一个关于Applet的例子,需要的可以参考一下!
- 我和汉语编程的亲密接触
- 点评我接触的各种编程语言
- 我所接触过的编程语言
- 这是技术内幕里的一点可以参考一下!
- 别人写的通信录,以后可以参考一下
- 关于jsp上传文件的代码,大家可以参考一下。
- 很机智的dialog有木有,可以参考一下。
- Java技术体系大全,准备面试的可以参考一下!
- 问题区,大家有不懂的html或者jquery可以在这里说一下,如果我会,晚上会解答
- 接触的第一个加密算法 给大家参考一下 希望大家多多指教
- 结婚的参考一下
- 【WinForm】线程中向listview添加数据
- JavaScript奇技淫巧45招
- 【Qt】Qt之自定义界面(QMessageBox)【转】
- 【Qt】Qt之进程间通信(IPC)【转】
- 【Qt】Qt之进程间通信(Windows消息)【转】
- 初接触acm或者编程的人可以参考一下我的经验
- 只声明而不定义变量
- 【Qt】Qt之自定义界面(右下角冒泡)【转】
- 脱还是不脱?【转】
- java连接数据库--JDBC编程
- 【Qt】Qt之进程间通信(共享内存)【转】
- 【Qt】Qt之进程间通信(QProcess)【转】
- Docker问题集
- 新建pch文件及配置