
非科班考研考到计算机。接触leetcode纯属偶然,实验室纯放养,自己做科研没人交流,当时实验做的稀烂,师弟师妹都忙着找工作在刷题,就想着一起刷刷题调解一下。先从每日一题开始,做着做着开始打周赛,看到周赛提交后的通过,是真的爽,就像玩游戏打排位一样。当时看题解啥也不知道,什么动态规划单调栈,一窍不通,做一题看一题题解。慢慢的刷到了200题,拿到了Knight牌子。对于我来说总共有两个瓶颈期。
1.1950分左右感觉自己上分上到头了,就想着手速3题上分,结果因为太急了,题目经常没看完就写,导致经常wa,就创了个小号,也没啥上分的负担,过年期间用小号打了几场,结果四场上了K,找回自信又换回了大号。
2.2029分,这个我记得很清楚,光手速有时候还是不太够,就想着怎么能提升一下,抱着试一试的态度加了灵神的群,开始做灵茶。说实话,之前对灵神的印象就是大佬,高不可攀的大佬,但是进群之后发现灵神一点架子没有,灵茶交流思路还会得到灵神的回复。接着又慢慢追灵神的视频,每个周赛双周赛不看直播也要看录播。后面开始查漏补缺,总结题型,最后上了瓜。
现在想想真的后悔没有更早接触算法,算法真的很有意思,尤其是在提交通过的那一瞬间,感觉整个人都升华了,成就感拉满了。可惜还有科研任务,不然我一定天天把自己刷到吐哈哈哈。对于上分我觉得有以下几个建议供大家参考下。
1.灵神是神!灵神的基础算法精讲一定要看!一定要看!我是大概500题才知道基础算法精讲系列,我当时觉得应该不用看了吧,因为我自己也总结了不少经验,后来无意间看了第一讲,发现灵神的思路真的无敌,就算是普通的双指针都有我还不懂的地方。有大佬帮你整理肯定是比自己摸索好很多的。PS:灵神的dp真的无敌~
2.总结一个自己的模板库。我觉得是要有自己的模板库的,就是对于一类算法应该怎么做,比如并查集,线段树这些。我觉得不光是背,还需要知道原理,为什么这么设计,什么类型的题需要什么思想。就比如需要总结二分查找可用的前提条件是什么,同向双指针一般用来解决什么问题,什么情况下可用。这个灵神的视频里面大部分都会提到。模板库我自己总结的话一般从两个地方拿,1是oi.wiki,2是灵神的题解里面总结板子。
3.一定要会预估时间复杂度,在你看完题目后,想到一个方法,一定要会估计他的时间复杂度,时间复杂度超了就不要再写这个方法了,也可以根据数据范围反推可以用的方法。
后面准备沉淀一下,每天少刷点题,多做科研,希望未来在科研上也能顺顺利利。祝各位上大分~