USACO 2021-2022 賽季的第一次競賽在上個(ge) 周末如火如荼的進行著,由於(yu) 時差的原因,國內(nei) 直到昨晚才最終結束。很多參考的學生都第一時間聯係了我,分享了一下他們(men) 參賽的感覺。
有很多學生是第一次參加 USACO 競賽,他們(men) 最開始聽到四個(ge) 小時隻需要做三道題目,感覺時間肯定是綽綽有餘(yu) 的,但真的參加一次才發現,對於(yu) 編程題目來說,代碼的修改還是挺耗費時間的。整個(ge) 做題的過程並不是一個(ge) 從(cong) 頭到尾線性的過程,而是需要不斷迭代的。當你提交代碼後,並不意味著就萬(wan) 事大吉了,而很可能是噩夢剛剛開始,你需要根據結果反饋不斷修訂代碼,甚至需要重新分析題目,這就需要耗費很多時間了,並且考試時都會(hui) 比較緊張,更會(hui) 覺得時間流逝飛速。
所以說,我一直建議學生要合理的安排時間,在沒有認真審題以前,不要著急著開始編寫(xie) 代碼,最終執行結果不正確,你還是要重新返工的。比較合理的方式是用半小時左右的時間認真審題和分析,徹底讀懂題目,找到題目的規律,這個(ge) 時候再開始編碼,這樣就比價(jia) 容易通過了。
有的學生向我反饋說,看到題目就傻眼了。原來學習(xi) 算法的時候,老師讓做的題目基本上能夠知道需要使用什麽(me) 算法,隻需要往那個(ge) 方向上去想就行了。但是參加競賽時,拿著一道題目就是不知道從(cong) 哪裏下手,粗看上去,感覺和所有學習(xi) 過的算法都不沾邊,根本沒辦法直接拿算法模板套用,看著時間一分分流逝,大腦一片空白狀態。
USACO 題目的特色就在於(yu) 靈活。可以想象,對於(yu) 這種線上比賽來說,如果題目能簡單的套用算法,你在線隨便搜索一下對應的算法代碼,那這個(ge) 比賽還有什麽(me) 參與(yu) 的價(jia) 值?USACO 考題的側(ce) 重點就在於(yu) 考核你使用算法分析問題的能力,所以平時做題的時候,可以把題目的問題類型和算法做一個(ge) 關(guan) 聯對應,這樣更容易從(cong) 問題入手,快速聯想到對應算法。
還有些學生分享說,他們(men) 拿到題目感覺並不難,於(yu) 是自信滿滿的就開始做題了,並且很快在樣例數據上得到了驗證,但是提交代碼後,發現竟然隻對了一半的題目,另外一半題目因為(wei) 性能原因沒能通過。這個(ge) 時候就需要回過頭來考慮更優(you) 化的算法,從(cong) 而耗費了很多時間。
對於(yu) 銅組以上級別的題目,本來在做題以前就要考慮下算法是否能夠達到數據量的要求。而對於(yu) 銅牌級別的算法,往年一般不會(hui) 要求在性能上做優(you) 化,但今年很特殊,銅牌組的幾道題目也需要考慮到優(you) 化問題,例如銅牌組第三道題目,不優(you) 化的代碼隻能通過一半的數據,而第一道題目,最後一組數據很難通過。
在看到題目後,我的感受也是整體(ti) 難度提升了不少,銅牌組對學生的要求已經不僅(jin) 僅(jin) 是做出來了,更是需要學生找到優(you) 化的解決(jue) 方案。雖然所涉及到的算法還是原來那些算法,但一旦要求時間複雜性後,難度也提升了一個(ge) 級別。這次難度的提升,很可能是因為(wei) 這兩(liang) 年學生的平均水平提升導致的,也和參加人數的增多息息相關(guan) 。
所以這次能夠順利通過的小夥(huo) 伴們(men) ,應該為(wei) 自己慶賀一下,你們(men) 真的很棒!這次沒能順利通過的小夥(huo) 伴們(men) 也不要氣餒,有了這次教訓後,在性能優(you) 化方麵刻意練習(xi) 一下,相信在下個(ge) 月的競賽中會(hui) 有更加優(you) 秀的表現!
評論已經被關(guan) 閉。