1. 程式人生 > >2016 ACM-CCPC長春站比賽總結

2016 ACM-CCPC長春站比賽總結

            以此篇文章記錄我ACM生涯第一場正式比賽CCPC長春站。 =========================================================
不知不覺中接觸ACM已經有接近一年了,但確實有很多方面做的並不好,距離校隊歷史上前輩大神在在這個時間點所取得的成績差距還是很大的。具體的個人分析部分放在最後。
說實話並沒有想到第一場比賽真的會打鐵,聽過很多前輩聊過他們當年打鐵的經歷,當時我想60%是一個那麼大的比例,以我們學校的水平,還有我們在校隊中的水平,出去連一塊銅牌都拿不到?如今看來還是自己太天真了….Too young, Too Simple.

初到長春,第一場現場賽的興奮還沒有完全消退,就迎來了第一場熱身賽,熱身賽總體還是很輕鬆的,我開始後很快就發現了第二道題是卡特蘭數,可能也許有些緊張,居然想都沒想就套了Lucas,結果發現隊友寫的板子TLE(不過成功發現板子的問題,很好~)看了看資料範圍,決定直接開陣列然後用逆元做,40min 1Y。然後看A,一度思維進入到了概率論的誤區想要強推公式無果,隊友寫的暴力模擬也出現了些問題有些沮喪,開始測一些環境變數,後來瀟哥路過說了句找規律….一語驚醒夢中人。很快A也過了,C隊友改了幾次也成功過題,第一場熱身賽居然就這樣AK…..
感覺有些不可思議。看了下榜,我們居然50+,感覺很滿意,也對自己正式賽的表現多了些信心。

第二天的現場賽,早起之後出了些意外比賽開始前15min才趕到,比賽還是很正式的,開始前不讓碰電腦。開題後大家按照老規矩讀題,很快隊友發現一水B——數學題連分數。於是我去敲,可能是因為剛開始的緣故,手還有些生,居然出現了三個Bug,調好之後測了隊友出的樣例沒問題,交上去1WA。列印程式碼查錯,隊友鄭黎明開始敲D,很遺憾也是1WA,應該還是緊張,看周圍隊伍紛紛過題,後來才知道周圍坐著兩隻金牌隊Orz….終於40+min,我發現了一個細節沒有考慮到改正後2Y。這時隊友也發現了D題的錯誤,改正提交WA….十分不解,感覺思路完全正確。全隊冥思苦想很久後,發現交錯題了23333。提交56min2Y。此時已被旁邊的隊伍甩開差距,奮起直追,同時開了當時過題人數最多的
FH….我來看F,乍一看F求區間上相鄰兩數gcd和中第K小的排列,感覺真是難,資料結構??被隊友拉過去看他敲KMP的模板(其實可以打完後列印比對節省人力),等我再回去看F的時候,發現這真真是一道水題,是可以直接構造答案的,我上去敲,因為很自信測完樣例直接交WA….T^T沒有題是一次過的,真傷心。。。拉著隊友找錯因,很快我自己發現了錯誤根源,隊友改了一下我構造的順序,交上去2Y。這時因為我隊罰時數太多,三題中墊底,而當時的情景是4題隊都不一定有銅,很慘,繼續做H。經過N多努力,隊友換了兩種KMP模板,有加以修改,終於過了H5Y…..穩穩的呆在4題倒數,當時的情形是5題有銀,不出題就打鐵,所以我們繼續開題,此時因為英文能力的欠缺(我居然不認識迴文串這個單詞palindrome。。。)導致理解錯了題意,我想這也是我隊最後打鐵最重要的原因,直到最後1h才發現,隊友用Java迅速的敲,不過敲完之後問題實在太多,刪刪改改一直到比賽的最後幾秒,提交居然沒提交上T^T…..他們伺服器掛了一次,讓我們都掉線了,so…..就這樣無奈的結束了,根據賽後測得資料,這個貪心的想法應該是沒有問題的。
頒獎,會同學,看電影,返程….
賽後反思
11Y率太低,思維不夠縝密,考慮不夠周全,交題前沒有溝通,不夠慎重,比如說交錯題的事情。
2、基礎演算法掌握不牢靠,KMP理解不夠深刻,導致使用上不夠靈活,過於依賴模板。
3、讀題能力欠缺,兩個隊友的英文水平堪憂….而我在專業詞彙上面的掌握程度不夠,居然迴文串都不認識,明明見過….一定程度上影響了發揮….
4、高階演算法(主席樹,數位Dp沒有太多瞭解),卡題狀態下沒有辦法繼續攻題。要多看書….
個人分析與規劃
1、程式碼能力不夠強,碼力題過於依賴隊友,給隊友造成了壓力,致歉解決方案:加強模擬題的訓練,多打比賽。
2、知識面欠缺,暑假集訓的內容沒有充分消化,一知半解,導致只是覆蓋都有限且知識深度不夠,兩方面都需要加強。解決方案:制定個人專題訓練,挖深。多讀書多瞭解,廣拓。
3、現場賽經驗缺乏,機時被浪費。現場的策略有一定的失誤。

積極備戰下一場ICPC瀋陽站的比賽,早日擺脫鐵牌隊~
一年之內由鐵變金,加油[email protected] @Sun_shiney @wchhlbt
寫于歸途火車,不知所言~
2016.9.2723
Mystic wchhlbt