2017年尾参加了学院的ACM集训队 里面真的是大神云集啊...然后说是寒假会有集训 当时就下了决心寒假集训一定要好好听好好打题
寒假的集训弄了10天 前7天讲课+做题 后面三天给了套题来练习
但 其实前七天我的状态是不太好的...感觉上课讲的很多东西模模糊糊能听懂,但就算听懂了也写不出代码(当时对递归的理解还是太差了 对代码的抽象能力还不行 而且也不太习惯看代码),所以基本每天只能做一道题(而且是非常水的模板题...)最后一天讲的是数论,但前一天晚上没有睡好所以头很疼根本听不进去(可能也是因为比较难)当天也没有做题,最后三天的练习也没有做...
总的来说 集训的10天(对我来说应该算7天)还是花了很多时间的 上午听课下午晚上做题,但当时个人感觉效果并不好,调试找Bug一找就是好几个小时而且往往找不到要靠别人的帮助(这点是最烦的...)也完全听不懂群里大佬的讨论(因为跟不上啊!ε=ε=ε=┏(゜ロ゜;)┛太菜啦)
集训完了就回家了 在家里浪了几天 想了想还是要把之前的题给补一下 把一些简单的数据结构和算法尽量弄会,于是开始了我的补题之路~当时很多似懂非懂的东西在补题+看博客的过程中慢慢的也弄懂了 (想起师兄说“定个目标:简单的东西大概 2 3天内弄完,难的东西大概一周内弄完” 其实是很有道理的)
接下来还有几天 还要接着补题啊 然后C++的类与对象也可以看算法看累的时候学一下(比较轻松嘛 就敲敲例子熟悉一下语法)目前算是会的点
1.树状数组 线段树(线段树还要再补充
2.DFS BFS
3.归并排序
4.字典树
剩下的寒假希望能攻克的
1.高精度加减法(不仅要写 还要写的非常熟练
2.dijkstra SPFA
3.并查集 哈希
4.简单的DP 背包
5.KMP AC自动机
6.(简单的)数论相关的(既然快速幂会了最好能吧矩阵快速幂也学会吧)
对这几天的总结如下(心得体会?
1.看算法数据结构其实可以两步走:先看原理再敲代码(目前比较不好的就是 一般看懂了原理还要再配合代码才能真正弄懂 而不是看懂了原理就可以自己写出来了 路漫漫啊...) 原理可以利用零碎的时间细细的想,然后代码一定要能独立的写出来,下一阶段的目标就是能独立快速的写出来(要把模板敲多几遍 至少2 3 遍吧)
2.多跟集训队的同学师兄交流,多请教他们,有的东西看博客资料可能要看很久但是可能别人一句话就能讲明白了,要大胆一点
3.在弄算法ACM的同时也要加强其他方面的能力,不能局限于ACM:英语读题目的能力(背单词,看C++课本英文版争取下学期能不看或少看中文版教材),C++剩下的一些语法(类与对象),*接触python的语法,*了解一些比较底层的东西(例如:程序是怎么跑起来的,计算机是怎么运行的 )
切记切记不能因为弄ACM而忽略了其他基础课!!对我来说ACM最大的目标应该是提升自己的思维,提前接触大二的算法(同时结交dalao督促自己努力努力再努力)很多不弄ACM的dalao也非常厉害!!不能因此而满足!!ACM不是全部!
4.对于题目:现在还是能力不足 目前做的也都是模板题,而且很多时候要看了题解才能自己写出来(现在是熟悉算法和数据结构的阶段 这样没有太大的问题但长久肯定是进步不大的)y以后尽量做到不要看题解只看知识点自己写出来!更加进阶的就是看题目分析自己想思路套模板!!
5.暂时没想到了 想到了再写吧
http://blog.youkuaiyun.com/victordiao/article/details/51981233
http://blog.youkuaiyun.com/sdutstudent/article/details/57443060 我觉得总结的不错的 学习人家的方法!!
总之还是任重而道远啊