百科问答小站 logo
百科问答小站 font logo



如何面对算法竞赛的焦虑? 第1页

  

user avatar   jiang-yong-hang 网友的相关建议: 
      

先给出回答:自信是要靠一次次ac累积出来的。


给题主一个刷题建议。

大原则
哪怕是World Final的最难题算法,依然是由几种现成算法略微修改后组合出来的。
ACM并不要求你从零开始凭空构筑全新精妙算法,只要求对现有算法掌握的深度和广度。

第1步

对于每一道题,先自己想10分钟,认真拼命想(重要)。可以略微延长,但不必几个小时地想,效率太低。这又不是世纪初的三本acm队(逃)。

对于新手,这一步有点像在思路的迷宫里乱撞。没找到出口不要紧,但要记住走到了哪几个死胡同

第2步

无论有没有思路,都看题解。

对比题解和自己思路的差距,找到自己的知识漏洞思维盲区

知识漏洞:一个现成算法的复杂度、适用范围、具体写法。

思维盲区:一个特定类型问题模型应该考虑的几个思路。做题多了,看到一个题型就立刻反应出几种可能的思路,然后一个一个思路仔细分析、细化、尝试。这就好像在迷宫里的路口一个一个走走看。一个题型的解题思路是慢慢积累的,见过一次自然就知道了(能不能想起来另说,但不用原创),类似英语固定搭配。题型识别是题感,类似学外语的语感。

第一步里想到的死胡同,有的可能确实死路,那下次遇到类似题就不要花时间想这条路了;有的其实是正确出口,但因为知识漏洞或思考盲区,而误以为走到了死路。

这时,要把自己「误以为是死路,其实是正确思路」的部分,以及「从一开始就没发现的路」,还有对应的知识漏洞和思维盲区记录下来。用在线电子笔记比较好,便于随时复习。

这个有点类似错题本,但更详细和个性化,只对自己有用,没有分享给别人的价值。

ps:第一步仔细思考很重要,如果泛泛思考,等看了题解,就会忘记自己之前卡在哪儿,结果只会说「大佬就是大佬」,「我怎么就没想到」,那这题就白刷了。因为看过题解的话解法会记得一阵子,很难回到当时的状态(知识的诅咒),只好隔一阵子再来。

第3步

实际做题,确保自己的思路正确,或者确实理解了题解。

这一阶段还能检验自己对特定算法的熟练度,比如dp、dfs、bfs之类。如果打错了,这又是一个知识漏洞,记下来。




  

相关话题

  新手爸妈在养育小孩的过程中,如何减少不必要的焦虑、紧张? 
  有哪些算法惊艳到了你? 
  现在的年轻人到底有多容易被骗? 
  LeetCode 刷不下去怎么办? 
  你见过最差的算法工程师能差到什么程度? 
  蒙特卡罗算法是什么? 
  RSA的公钥和私钥到底哪个才是用来加密和哪个用来解密? 
  如何看待 2022 年秋招算法岗人间地狱? 
  怎么证明每个位上的数字之和可以被3整除的数可以被3整除? 
  这张图中能数出多少个三角形? 

前一个讨论
求用实例说明「大正浪漫」究竟是怎样的一种感觉?
下一个讨论
游戏王这么好玩,为什么不火?





© 2024-12-18 - tinynew.org. All Rights Reserved.
© 2024-12-18 - tinynew.org. 保留所有权利