2016.5.8 PKU校賽總結

  必須感謝PKU的包容,使得我這種沒有書讀的文盲得以參加off-line比賽,十分excited!下面是流水賬。

  上個月在羣上得知了這個比賽,然後順便在羣上找到了一位高中生隊友absi2011,這位同學CF分和我差不多,也是2k出頭,不過感覺實際水平應該比我強些。他一再強調自己英語水平爛到無法讀題,我表示我可以打輔助讀題。。我們試圖尋找第三名隊友,最後以失敗告終,於是註冊了一個2人team,隊名叫“有趣的隊名”。

  5.7(也就是比賽前一天)下午,正好是週末,提前出門跟隊友absi2011以及和他一起來京的一位同學(好像叫waltz)見面。我對中學生的競賽一無所知,他們也不太瞭解大學生的競賽,交流了一下,從奧林匹克公園遊蕩到望京一帶,吃了一頓很貴又喫不飽的西餐。。晚上到他們住處打了一會鬥地主。。期間,absi2011一直慫恿我打晚上的CF。。

  結果我晚上真的回去打CF了,沒做出第三題概率DP滾粗,竟然憑藉手速漲了幾分。。跟平常有CF的夜晚一樣,果然又睡不着了。大概從4點睡到6點半,起牀趕往PKU,很困但是隻能硬剛了。。

  5.8早晨,從朝陽來到海淀以後,略微清醒了一些,我再次來到PKU計算機系的機房。比賽環境是win7,不得不吐槽鍵盤和IDE有點辣雞。。

  開場以後,absi2011表示想搶奇怪題目的FB,我去敲兩道簽到題A和J,無壓力直接1A。然後absi2011表示想到了構造題D的解法,但是需要高精度,糾結了一會我打開了桌面上的eclipse,發現居然不能建java工程,沒有自動補全不想裸敲java瞎折騰,只能作罷。我讀完了H,發現是矩陣快速冪,和absi2011討論了一下,他給出了構造矩陣的公式。。然後absi2011決定手擼高精度過D,我繼續思考H的各種細節。不久後,D被1A,還是全場第八個過的,其實如果能用java或者rp好點的話,是有概率拿FB的,Orz。。接着我碼H,期間卡了一下,換absi2011去碼G。G是一個最短路題,好像有點卡常,這題邊權不會太大且圖不是精心構造的,在我的建議下,他使用了SPFA,由於忘記初始化等等naive的bug,掛了3次後過掉了G。在他敲代碼的時候,我已經把H想得很清楚了,然後上去過掉了H。在做這些簡單題的時候,我們的ranking保持得不錯,一直在10~25之間。

  比賽時間已經過去了一半,剩下的題目開始變得棘手,過得相對多的是一道我死活讀不懂的C,和一道神題I。這個I題,叫“PKU Zealots”,打過星際的我一眼看出來意爲PKU狂熱分子,我嚴重懷疑出題人旨在建立對PKU的“個人崇拜”。。題目要求在'#'和'.'組成的矩陣中,識別出來“PKU”三個字符分別有多少個。。。我們同時在思考I和嘗試閱讀C,對於I,我們腦洞了各種姿勢,最後採用了由absi2011提出的一種奇葩方法:‘P’非常好識別,因爲中間有圍死的區域,識別完‘P’後,把所有‘P’從矩陣中刪掉,再去分辨‘K’和‘U’。具體方法是,計算字母像素點的平均座標,看看平均座標附近是否屬於該字母,如果是識別爲‘K’,否則識別爲‘U’。。然後absi2011表示太蛋疼不想碼,把coding這題的坑推給了我,過了一會我終於敲完了,交上去返回wa。我們只好進行改參數等各種嘗試,掛了好幾次,最後居然發現又是初始化沒做徹底,改掉以後過了I。這時我們非常excited,absi2011還打印了兩份AC代碼作爲紀念,我頓時感到這兩年的努力都是值得的,第一次在現場賽過掉AC人數這麼少的題(雖然說不需要特別高端的姿勢,只需要腦洞)。。

  最後一小時的任務就是去搞那個C了,如果能過,今天就圓滿了。自稱英語不好的absi2011居然讀懂了C,在他的講解下,我還是不能完全理解。。我懷疑我對這題有認知障礙。。終於他不屑再跟我去講題意了,自己去推C的狀態轉移方程,我在一邊嘗試理解題意。他開始了看起來較爲艱苦的coding和debugging,我卻幫不上什麼忙,在結束前的幾分鐘,他頂住壓力過掉了C,我們隊一下上升了好多位,Orzzz。。最後幾分鐘我象徵性地和他講解B的題意以及我的想法,直到比賽結束。。

  最終我們以7題rank21完美收場(總共368隊),對於一個野雞兩人隊來說,這是一個非常值得驕傲的ranking!他身上確實有一些我值得學習的地方,比如那些我不會的技巧(在IDE裏DEFINE,用gdb花式debug等等),完全沒有對模板的依賴,還有那種AC難題的信心和意志。

  話說absi2011的英語應該不像他說的那麼不堪,也祝願他高考取得好成績,繼續自己的競賽之路。。總之不虛此行!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章