山東省第二屆ACM省賽總結

原本去年福州賽區結束就已經不再參加訓練了,這麼長時間不做感覺確實已經生疏了許多。在清明節和老師聊天時有讓Frank和我臨時參加省賽的想法,之後爲了恢復狀態一邊是做每週一次的內部測試賽,一邊把原來做過的一些題選了幾個典型的重做了一次。
         這次去的路上不知怎的,又暈車,導致週六整個一天幾乎都是暈暈乎,中午幾乎沒吃什麼東西,下午熱身賽都感覺不是很好,幸好熱身賽題目比較簡單,那天晚上9點就睡了,週日早上起來感覺好了很多(比賽完了在招待晚宴上喝了不少酒,當時還擔心等會兒去火車站會不會暈車,可後來證明喝酒之後坐出租車一點事也沒有)。熱身賽那天老師說第二天比賽打牌別太晚了,可都沒帶牌啊^_^,那天吃完晚飯就去爬山了,爬到了山大那個校區的最頂端吧,回來在宿舍就聊天,Frank說我們不要有太大壓力,正常發揮就行,給我們這個隊定下的目標是4個題。
        週日這天下起了雨,有點小不爽。開幕式之後就是到了比賽場地,之後就是緊張的5個小時。先說一下比賽的做題情況:
A題:博弈論題,只在北大暑期課程裏學過,可沒做過幾個題,這樣的題往往是知道公式就能做出來,現場這個做出來的也不多,當時也想做,臨時也推出了一個公式,可正好與樣例結果相反,後來隊友找出一組數據說明了我的公式也不正確,只好作罷。
B題:3道簡單題之一,可這個題我犯了兩個小錯誤,提交錯了兩次,不應該啊,這個題還多虧我們的女隊員給找出了錯誤。
C題:3道簡單題之一,就是求組合數,只是對結果多了一個取餘操作,這個題我受原來做過的一個題的影響用了另外一種方法,可是發現一旦取餘就不對了。這時發現Samon他們那隊這個題已經做出來了,而我知道他們原來不會我這個方法,所以肯定是用了我有一次看Samon用的方法,就是利用組合數的一個性質。
D題:全場最簡單的一道題,判斷一個字符串是否爲C語言合法的標識符,這題Frank做的,還算快就做出來了。
E題:09年上海賽區現場賽的一個題,abmodc=p,已知bcpa,我看過解題報告,可是有很多數學定理不知道,以後誰想學數論的,這個題一定得做出來。這裏因爲a的範圍就是26個小寫字符、26個大寫字母和10個數字的ASCII碼,moon說可以先枚舉,然後判斷,對這個題或許可以,當時比賽就沒想到這一層。
F題:難度最大的一個題,求一到三維平面中一些點之間的最大距離,這個距離做了重新定義。
G題: 模擬題,這個題我們隊的女隊員發揮了重大作用,儘管是我做的,可是這個題的功勞應該歸她。模擬題的典型特點就是編碼量大,這個題的輸出結果不知有多少個英 語句子,這些句子即使錯一個字母或者一個標點符號整個題都將功虧一簣,我是一邊敲,她在一邊念一邊仔細檢查有沒有出錯。比賽完了之後Samontao他們這個題都沒做出來,原來他們還用了trie樹,當時我做之前他們也說是不是要用trie樹,我權衡一下之後還是沒用,我考慮的是既然這個題定位在模擬題,考其他數據結構的可能性就不大。
H題:Frank說是簡單題,好像還是Frank全場第一個做出來的吧,不簡單啊。
I題:動態規劃,想做,Frank也提出了一個解法,可是空間複雜度太高。
J:圖論題,發現自己一直還有知識盲點,有向圖的強連通分量,即使在數據結構課本里有,可是我竟然沒看過,顯然是不可能臨時做出來的,更何況這個題定位在難題,Frank到最後也做了一下,可還是不行。
          我們做出5個題是在前3個小時,後面2小時就沒做出題了,當時我和Frank就研究了一下排名榜,結論是我們獲金牌的可能性是很大的,這時我們的女隊員不滿意了,說我們在幹嘛啊,趕緊做題^_^,進入比賽最後一個小時,封榜,看不到排名了,這也是最最緊張的一個小時了,你無法看到別人的做題情況,始終擔心我們的排名是否會下降。比賽結束排名榜出來,金牌基本確定是到手了。
       5個小時的比賽一個瓶頸就是3個小時的時候,也是是下午1點,這時候已經是經過了3個小時的超緊張時間,我們能做的題幾乎在這前3個小時已經都做出來了,剩下的題也不會比已經做出來的題簡單了,再加上沒吃東西,儘管發了麪包,可誰會在這麼緊張的時間有心情吃東西。所以說這樣的比賽拼的不僅是腦力,還有毅力、體力。
        這場比賽算是給Frank和我的ACM生涯畫上了一個圓滿的句號吧,以後就不可能繼續做了。謝謝老師能給我這次機會能讓我再留下一次ACM的美好記憶。記得在賽場上每當交一個題返回的結果是Yes時,我們都大叫一聲”Yes”,那種高興真是無法用言語來形容的,那種經過幾次錯誤再得到Yes的更甚(在我們的右後方有一個隊伍在比賽結束不到兩分鐘的時候提交得到一個Yes,那一聲狂叫,惹得不知多少人的眼光朝向他們,他們那隊那個女生還忍不住把他們後面隊伍的氣球拔出來插到他們那裏)。可是這樣的美好時刻就要隨着我退出ACM競賽而只能永遠的留在我的記憶中了,很不捨啊。


       接下來大體我還得完成幾件事,先寫下來,然後一件一件完成:
1、翻譯PC2的文檔,比較多,可能得需要一段時間。這個一方面是基於技術傳下去的考慮,另一方面我以前配置PC2時也是不懂的時候纔去查文檔,還有很多東西我也不是完全懂。
2、寫出密碼隨機生成模塊程序,而且要能導入到PC2中去,這個比較簡單。
3、寫出打印模塊程序,就一個網頁,順利的話應該比較快,這個必須得經過併發環境下的測試,上學期做數據庫課程設計時寫的程序沒考慮過併發,所以在併發情況下肯定是會出錯的,這個需要好好考慮一下,畢竟寫實用的程序和寫課設不是一回事。
4、把PC2的排名頁面做一下美工,這個小意思。
5、配置出郵件服務器,和PC2進行整合,這個現在不好說得用多長時間。
5、完全配置出PC2環境,藉助協會舉辦活動來一次以上的實戰。

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