2018華為精英挑戰賽初賽總結 (失敗,不甘,但我還在奮鬥的路上笑著)
2018華為精英挑戰賽初賽總結 (失敗,不甘,但我還在奮鬥的路上笑著)
第一次嘗試參加這樣大規模的全國性比賽,由於賽程基本過半了,目標很明確,近前64就行。雖然成績最好的時候只有85名,但在近半個月的參賽過程中收穫滿滿。止步初賽,此時“不甘心”是最大的情緒,很久沒有經歷過如此的失敗,焦慮了兩天後,仔細反思了整個失敗的過程,決定書寫下深刻的經驗教訓,為以後更強的我鋪好道路。
比賽歷程回顧
3月9號賽題釋出,我大致看了一眼第一感覺不是我的專業領域方向,應該做不出來,於是忙別的事去了。到了大概快3月底,同門的大神給了我一個公式,說很簡單,去實現下就能上榜。我抱著試一試的態度仔細瀏覽了賽題,立刻有了解題思路(後期發現其實思路並不完全對)。由於賽程基本過半,其他參賽的人早已組好了隊,完全沒有考慮和別人交流,打算閉門造車,立刻開始了擼碼。四天完成了資料的解析,接下來就只是照著原公式去實現,預測由於用了最原始的指數平滑,很快做完了,接著考慮分配的演算法,不知道當時怎麼想的,隨便想了個分配演算法,沒有查資料,對演算法的正確性也沒有進行仔細的邏輯分析,沒有調優的想法,覺得時間肯定夠,於是一路走到黑。
初賽結束前五天,修復了所有bug,優化了部分程式碼,提交後發現僅有68分,之前立的flag還是不攻自破了,時間其實完全不夠。發現思路有問題,比賽時間又快結束,再次請了大神支招,換了正規解法去做,寫了一天調了一天,分數到了76分。腦子本來就比別人轉的慢,再加上離結束僅剩三天,焦慮讓我徹底想不出什麼優化的方法了。正式賽期間把官網指導視訊聽了一遍,有了幾個優化的方向,正式賽期間還碰上了其他組的同學交流了一波,又垂死掙扎了一下。換了模型,資料去噪,加隨機數,由於提交次數的限制終究還是沒有什麼實質性進展。公佈結果前分析了一波自己的分數,是不可能上榜的,果然沒讓我失望。
失敗原因總結
1、演算法一直是自己最薄弱的環節。搬磚做應用做多了,忽略演算法知識是致命的。
2、賽前準備不充分。一方面,沒有查閱關於解題的任何資料;另一方面,想用一半的時間來做成原本2倍時間完成的事,不是智商高就是心存僥倖,我是後者。現在想想,連賽事討論群都沒加,錯過了多少有用的資訊。
3、急於動手。深刻記著本科導師的一句話:“寫程式碼永遠是最後一步,想好了再動手”。我一直以為自己早就理解了這句話,在現實情景下卻背道而馳了。審題僅用了一小時,沒仔細考察題目用意,沒有研究判題公式。
4、照本宣科。現成的演算法拿在手中,不加考慮就套上去,不懂得變通,不能靈活運用。其實後期發現自己用的演算法是有很大改進空間的。
5、閉門造車,缺少溝通。賽後看了些往屆參賽大神的部落格,發現好成績的取得少不了團隊之間的交流。以前做的專案都是和團隊一起完成的,深知合作的重要性,結果到了比賽場上,卻忽略了這個重要因素。
我的感悟
從技術角度講,演算法是程式的核心,研究生之所以稱為研究生,研究的是解決問題的方法,但是,得先學會理解前人積累下的演算法,然後靈活運用,最後才是改造演算法,創造演算法。通過這次比賽,最大的收穫就是從正面審視曾經忽略掉的最致命的演算法基礎。在這個方面提升自己,我定會有一個巨大的突破。
從人生經驗角度講,失敗就是失敗了,沒有什麼好逃避和辯解的。不甘心的背後其實是對沒有盡全力以及技不如人的委婉說法了,是為了表現自己並沒有因此而心灰意冷罷了。記錄在此,讓自己知道不盡全力是不會做好一件事的。一次比賽如此,一個人生亦如此,僥倖心理因懦弱而產生,強者從選擇出發開始前就早已做好了準備。
人是要不停向前走的,原地踏步都是退步。給自己點信心,不過就是85名麼,整個賽區我比85個隊弱,但搞不好一共有850個隊呢,那我還是不算太差的,哈哈哈。上個圖紀念下,也不枉費敲了這1千多行程式碼。
數字最吉利的一次提交成績,88
——————————————————分割線(彩蛋)———————————————————————————
最後,特別感謝女朋友,在感覺時間不夠用,想放棄的時候,她先是把我大罵一頓怎麼這麼沒用,說放棄就放棄,隨後就鼓勵我,哪怕高几分也是進步,哈哈。好媳婦~~~