1. 程式人生 > 實用技巧 >2020浙江省ACM省賽後記

2020浙江省ACM省賽後記

今年是個特殊的年份,所有的賽事都被壓縮在了下半年的最後幾個月,而且全是線上賽。
昨天也是我代表學校打的第一場比賽,和我組隊的是hl和gbs學長。

對於集訓隊的參賽選手來說這是第一次線上的特殊賽事,對於協會和志願者來說也是第一次參與組織這樣的比賽,在這裡再次向協會和志願者表示感謝,感謝你們為我們提供了堅實的後盾。

由於習慣於早起和提前準備好工作,12點開始的比賽,我在7點和往常一樣來到了實驗室,大概九點多就把裝置移到了樓上機房,除錯準備好了環境,等待一個在考研,一個在實習的兩個學長到來,這也是我們三個人第一次整齊得坐在一起打比賽。
11點不到一些我們三個便坐在了賽場位置上,準備好一切後登入了比賽系統等待比賽正式開始。儘管我感覺自己的臨考心理素質已經不錯,但是可能多少還是表現出了一些緊張吧。hl學長一邊吃著皮蛋瘦肉粥,一邊和我講著一些笑話,講著一些以前集訓隊發生的趣事,多半是注意到我的緊張試圖安慰我吧。不管怎麼說,想一想賽場外還有人為我加油,賽場內有學長和志願者在幫助,慢慢的心態也平和了下來。

12點比賽正式開始了,我讀的第一道題就是個A,但是可能確實狀態存在問題,這麼一道明顯的打表題我卻用了一種非常複雜的解法在寫,此時hl和gbs學長過掉了一個還是兩個簽到題,hl學長向我詢問了題意後馬上就反應到了正確解法,在我那份寫拉胯了的程式碼連樣例跑不過之後果斷讓我去寫另外題目直接自己上手,避免了我在比賽一開始就陷入這道題,也使得在後面的比賽裡,我還能保持一個並不是太糟糕的比賽狀態。
之後的幾個小時裡,我見識到了hl學長隊伍的穿插上機戰術。前三個小時我提供了B題的兩個問題的第一個問題的解決思路,除此之外的作用就是讀題給題意了。hl學長的程式碼基本功和紮實的資料結構能力給我留下了深刻的印象,gbs學長坐在hl學長邊上交流題意和解法,hl學長快速理解思路並實現程式碼。

三個小時的時候我們已經過了6個題,大概在銀金之間的樣子。此時沒做的幾個題基本都是沒人過或者沒人交的題,此時我去讀了F題,在和gbs學長交流後得到了一個大的思考方向,深入思考之後得到了這道題的解法,分六種情況討論的數學思維題,造了12組樣例測試痛過之後交了一發wa了,意識到有一種情況沒有考慮到,造了13組資料完善了程式碼後成功過掉了這道題。這個時候還剩下最後的一個小時多。
此時G題的大結論已經被推出來了,被轉為了一個迪傑斯特拉最短路的程式碼,但是一直在tle。我們認為可能是被卡時間複雜度的常數一直在優化,然而實際上這道題應該使用dp的O(n)做法來寫。在寫出F後感覺我的狀態有點鬆下來了,也可能是hl和gbs學長的實力強於我太多導致對他們產生了信賴和依賴感,聽學長們討論思路的時候,聽到這個最短路可能劣化成n2
的複雜度的時候,隱隱懷疑這個演算法是有問題的,因為之前寫到過一道這麼類似的題目。然而這最後的一個小時我選擇的是乾坐著陪著學長們優化演算法的常數,沒有嘗試著深入去理解。拿金的可能性就這樣在我的放鬆下丟失了。
此時還有一個H題是有思路的,是一個幾何題,我想到的是離散化座標後線段樹區間維護(實際上不需要線段樹直接掃描線就可以了),但是這樣的一道題目實現起來細節也註定會有很多問題,放棄G題去寫這個H是一個非常危險的操作,能不能在一個小時裡過掉這道幾何題存在著巨大的風險,處理特殊情況以及精度都可能卡住這道題。
最後的結果是銀第七,作為首場比賽來說,已經很滿意了,感謝hl和gbs學長在比賽裡的包容和給予的經驗。

在賽後我又去看了一下hl學長退役前發的最後一篇部落格,總結了hl學長自己的兩年曆程。在這裡插入圖片描述
在經歷了一年之後,越看這一篇部落格越感到hl學長說的句句在理。
昨天這一場比賽,我看到了自己的不成熟,也感受到了一個比賽時的team應當是怎麼樣的,個人實力的重要性確實是凌駕於組隊配合之上的,如果你和你的隊友存在著巨大的差距,組隊交流在賽場上很多時候會起反作用,而當三個人實力足夠的時候,很多的配合只需要磨合那麼一兩次就可以熟練了。

我只剩下一年時間了,明年也不再有hl和gbs學長,是我和我的隊員們去打。
我想盡力走得更遠一點,你們能陪我麼?