大家好,我是怒码少年小码。
冬日暖阳,好日常在。今天中午在食堂干饭的时候,我的手机📱收到了一条收货信息。
阿?什么玩意儿?我又买啥了?
个败家玩意,我都准备好叨叨我自己,又没忍住买东西,结果到菜鸟驿站一看😮:
我靠😮??得奖了??!
哦,优秀奖而已啦~
我在10月29日的时候参加了这个算法的比赛。主要是参加着玩的,于是没怎么在意连得奖都没有关注。直到今天收到纸质版证书,我列个都,惊呆了Σ(っ °Д °;)っ
主要是从开始练习算法、更新【算法通关】系列大概三个月左右;开赛前也没有刷它官方的题库,完全就是没怎么准备。结果也符合我的预期,就拿了个优秀奖。
比赛题目
想要比赛题目的小伙伴,关注本公众号,在后台恢复关键词:003。即可获取。
比赛收获
了解了什么是双机位
我最近也了解了很多比赛,发现很多都需要双机位,这玩意第一次搞还挺麻烦的。简单的说就是先把电脑的摄像头打开,然后在身后45度左右再放一个摄像头。
因此,我还为了参赛买了一个手机支架,好用~(现在已经用来记录美好生活拍视频了)感觉还是很新奇的,我比赛期间还有时不断往后看手机的镜头哈哈哈。建议大家还是比赛前,提前实际操作一下。我当时是完全没有准备,就在比赛开始之后我还捣鼓了半个小时的设备😂。
查缺补漏的缺和漏很大啊啊啊
说实话,参加完比赛之后,我发现了我现在所学的真的只是算法的一点点边边角角。图论、数论、搜索、动态规划、计算几何等等我都搞没懂。
唉,道阻且长啊~~
暴力解题要会,高效算法也要会
我记得这次比赛就有一道题目关于九宫格打一句话需要按多少下,这道题我原来就是想的太复杂了,一直在想几个键和下标的关系,其实直接暴力解题最为简单了啊哈哈哈哈
还有另外一道,它的本质是关于如何使用位运算取1,这道题真的很简单,我之前的【算法通关】系列也有讲过:
但是!怎么了呢!我忘记了时间复杂度较低的那个方法了,而是只写出了那个时间复杂度高但很容易理解记住的那个!结果毫不例外的超时了,救命啊啊啊,但是真的很难过,好不容易有一道我会的,结果,,,,不然我就做出三道题目了😎🤏🕶 -> 😭
理解能力的重要性
整个比赛的过程中,我有一大部分的时间都是在看题目,也就是说我通读完一遍之后我发现我甚至都没明白题目在讲啥!
我认为这主要有两个原因:
- 算法知识不到位,没有get到题目的意思。有一说一,比赛的时候看到图论相关的我基本心态就崩了,没练过没懂过:)
- 单纯语文能力不行。有些题目有点像高考数学的第五题,就是古代数学,文字很多的那个,很多人光是看到字很多就开始怯场了(别骂了别骂了。这对一个高考语文没及格的人来说太difficult了😎🤏🕶 -> 😭。
基础能力的必要性
基础能力,比如:数据处理、各种方式的输入输出、基本集合/工具的使用等等。
这些熟练真的对解题速度有很大的提升,比如这次比赛中有一个题的输入需要按行输入包括空格,这个很简单吧,但是我那时候还是翻了书;再比如在我需要使用hash解决问题的时候,我不太记得C++里是如何定义的了:(
还好这次比赛可以带纸质资料和在本地编译器运行。
关于投入与产出
29日那个早上,我在实验室里,从早上9点一直做到中午12点。怎么说呢,很投入很认真,但也只做出了两道题!!┭┮﹏┭┮
想想这三个月的投入和产出,我只能说算法比赛真的是适合有点天赋的人去搞的。这个比赛在学校里是没有加分的,我也只是拿来练个手而已,主要是想参加明年4月份的一个比赛。毕竟才大二,主要是想多尝试一下,就当是为了面试准备算法了😭
END
总的来说,还是很有挫败感的,但是也不打算就此放弃,会专心准备明年的那个比赛,如果那次还是这样,我还是专心搞项目吧。