省赛总结
? ? ? ? ?前兩天,CHL、HRD兩個學長和我組隊參加了河南省第七屆ACM程序設計大賽,經過我們的共同努力,我們隊以總排名11名的成績獲得了金獎。
? ? ? ? 周六熱身賽的時候,因為要參加“百度之星”比賽,兩個學長去參加熱身賽,我沒去。吃飯時聽他們說兩道熱身賽題目都很簡單,十幾分鐘就做完了。晚上回到賓館我們九點多就睡了。
? ? ? ? 第二天正式賽。比賽一開始,我們按之前商量好的做題策略把題目分開,我分到A題和B題,胡仁東學長分到的是C題和D題,剩下幾道題目暫時分給了常紅立學長。
我先看的A題,看完之后感覺像是背包問題,但是不知道怎么定義狀態,于是我就先把A題放下看B題。B題是一道圖論題目,我讀完題目沒有想出用什么模型去做。這時CHL把他讀過的一道英文題給了我,讓我再讀一遍,我讀完只懂了大概意思,看樣例發現按照我的理解去做也對,我和HRD說了一下題意,東哥就讓我先寫。我寫好之后樣例過了,就讓HRD給我出數據。測試他給的數據時,發現有一組數據過不了。我把我的寫法和他說了之后,他和我說輸入傳參數時不能用整數傳,要用字符串,然后再從中把整數提取出來,我就開始改。在我還沒改好F題時,HRD發現了一道簡單題—H題。他說H題是矩形嵌套,問我會不會寫,我說會(因為來比賽之前我看了那個題目)。東哥就讓我先寫矩形嵌套。我把代碼寫好之后沒有仔細檢查,測試樣例過了,于是我們就提交了。交上去以后返回了Wrong?Answer。東哥和我說“沒事”,于是我們兩個就開始檢查錯誤,發現在循環時有個地方我把j寫成i了,改完這個錯誤之后沒有發現其他錯誤,我們就又提交了,可是又WA了。這個時候我已經有點慌了,東哥又鼓勵我說“沒事,先把代碼打印出來,你們兩個討論一下,我先寫F題”。我們把代碼打印出來,我和CHL學長說了下我的處理方法,他看了我的代碼之后說應該是少了一個判斷條件,如果按照我的方法,當矩形的長大于寬時,應該交換長和寬,但是我沒交換,我想了一下發現確實有問題。于是我就就和東哥說在哪個地方改,他改好之后問我還有沒有問題,我說沒有,交上去就Yes了。看了看榜,發現F題過的比較多。HRD就繼續寫F題,CHL學長又給了我一道G題,我讀了兩遍沒有讀懂,樣例也沒有推出來,于是我就換題了。我又看了A題,還是不知道怎么寫。這時東哥那邊出了點問題,讓CHL過去幫忙,CHL把我之前看的B題給了我,說想暴力試一下,讓我看看行不行。我看了看,如果暴搜肯定超時,于是我就想其他方法。我發現可以轉化成最短路處理,樣例也可以過。因為只有200個點,而且是多次詢問,可以用Floyd把任意兩點之間的值都求出來,詢問時直接輸出就行了。我想了一下沒問題,就先在紙上把核心代碼寫好。HRD和CHL還在調F題,我又返回來看A題。沒過多長時間,他們兩個調好了,交上去1Y。我就馬上開始寫B題。寫好之后我讓他們給我出數據,他們兩個出的數據都過了,HRD說交吧,提交上去也是1Y。我在寫B題時,他們兩個在討論A題,我寫完B題,CHL開始嘗試著寫A題(此時還沒有定義好狀態,也不知道轉移方程)HRD和我說了他的處理方法,我認為不對,我們兩個討論了大概10分鐘,終于找到了狀態和轉移方程。我們看CHL寫好的代碼,發現結果不對,我就幫忙改,大約五分鐘改好了,我和HRD又幫忙出了幾組數據,也過了,于是我們就提交了,1Y。我們看了一下榜,排名14名,想拿金獎還有點危險。A題過了以后,D題我們也有了想法,是一道DP,我就按照我和HRD討論的那種方法寫。寫了一半時,HRD說那種方法有問題,于是我和HRD又在那討論D題。這時CHL說他知道G題怎么做了,我就把電腦讓出來讓他寫G題。我和HRD討論了半個小時,后來HRD提出了一種方法,開始時我覺得也對,于是我就想數據來驗證那種方法的正確性。可是寫了幾組之后又把那種方法推翻了。這時距離比賽結束大概還有一個小時的時間,CHL寫的G題也遇到了問題。商量之后我們決定先把G題寫出來,如果有時間再去想D題,于是我們三個人就一起調試G題。調了一段時間沒有調好,我們就把CHL寫的代碼打印出來,HRD來寫G題。HRD寫了一會也沒寫好,于是我又開始寫G題,寫著寫著CHL說他知道哪里錯了,于是我就退下來讓他改,我們兩個在旁邊看著幫他改。又調了十幾分鐘,終于把樹建好了。把樹建好之后,后面的處理就簡單了,可寫好之后發現結果不對,想了想也沒想出哪里錯了,我就說我重新寫后面的那部分吧。我寫好之后發現還是不對,看了看前面的代碼,我發現有個變量沒有初始化,可改了之后還是不對。后來發現循環里面寫錯了。改了之后樣例過了,于是我們就提交了,也是1?Y。這時距離比賽結束還有7分鐘,HRD說交E題。我不知道他什么時候寫的E題,因為樣例沒有退出來,放在那里一直沒有交。后來才知道是數據錯了。E的樣例過了,提交以后超時了。于是我們就馬上改,改完以后再提交,還超時,改了交上去沒有返回結果,就又交了幾次,因為當時已經不在乎罰時了。直到我們離開賽場,還有幾次提交還沒有返回結果。看完最終排名之后,才知道E題最后還是沒有過。就這樣經過5個小時的努力,我們做出了5道題,除了H題WA了2次,其他四道題都是1Y,總排名第11名,獲得了金獎。
通過這次比賽,我的感觸是:
1.比賽時隊友之間的鼓勵很重要,特別是隊長對隊友的鼓勵更重要。H題在我連續錯了兩次之后,我已經有點慌了,但東哥對我說:“沒事,我相信你!”給了我巨大的心理安慰,減輕了我的精神和心理負擔。
2.比賽時就算把題目做錯了,也不能慌,心里越急越想不出解決方法。
3.隊友之間的配合尤為重要。
4.比賽期間,要學會心理的自我調節,當自己心情煩躁時,一定要懂得自我調節。
5.要敢于去想,敢于嘗試,只有嘗試之后才知道對錯。
6.要靈活運用自已經學會的知識,平時要多練習,只有練得多了,見得多了,才知道怎么把一個問題轉會為另外一個問題,有些題目不是不會做,而是沒有把問題轉化成自己已經學會的模型上面。
?
?
總結
- 上一篇: 沈南鹏问了微软CEO四个问题
- 下一篇: UVA 10142 Australian