天天看點

[GDOI2016旅遊(QwQ~)記]SurveySummary

Survey

To Start With

本來來之前信心滿滿,覺得進第三天是很容易的事(其實從分數上看的确很容易,但是……),想在第三天水出一筆成績。唉,這個 flag 立得飛起,然後就炸了。

Day1

想出了第一第二題,第一題三分打完不會拍,想想手工資料也很難出,就直接檢查幾遍代碼放一邊了。第二題打完耗了一段時間,然後對拍一打,哇,全都是對的。

然後我很嗨森,我在想今天是不是200+拿定了。這時隻剩下四十分鐘,我在想,後面兩題看起來那麼複雜,與其打暴力,還不如直接檢查前兩題代碼,保證拿分。然後我又渾渾噩噩度過了25分鐘(因為我的檢查代碼好像并沒有什麼卵用),這時,我突然發現第二題我的程式輸出和暴力輸出其實是不一樣的,吓得我趕快打開對拍程式一看:

@echo off
:l
lcs_data.exe
lcs.exe
lcs_brute.exe
if errorlevel  goto WA
echo Accepted!
goto l
:WA
echo Wrong Answer!
pause
           

人群當中,我的

diff -q lcs.out lcs_brute.out

怎麼沒有打呢?

然後我崩潰了,整整15分鐘,程式不停地出錯,我也不停地調試。最後比賽結束了,我還是沒有調試出來。

最蠢的是,我擁有對拍用的第二題的30分暴力,但我隻顧着調試正解,在最後一分鐘也沒有棄坑,将暴力檔案名改過去,拿30分(後來事實證明,如果有這30分我就能進第三天了)。

最後收到結果,是0分,我至今仍不知道我第一題哪裡迷之錯誤了,一分也沒有(聽說初一有人二分過了,無言以對)。我一時接受不了,畢竟我經曆了從信心滿滿200+到0的落差,主要原因還是打錯對拍的bat檔案,而且第一天一下子落了别人100到200分,這還怎麼玩?我十分迷茫,感覺第三天無望,便忍不住落淚了(好久沒哭過了)。

Day 2

Day2還好,幸虧沒有因為第一天的失敗而心态爆炸,導緻更慘的後果。

第一題想了一會,想出了一個奇怪的解法,這時我在想使用玄學算法 spfa 還是 dijkstra ,畢竟省選難度比賽很有幾率會卡玄學算法,但我還是嫌打堆麻煩,便冒險打 spfa ,并且最作死的是我還使用了c++ STL 裡面的隊列。

第二題看得我一臉懵逼,感覺像是大暴力。

第三題一眼點剖,想了20分鐘想出了正解,然後這時我有點糾結,是否要在本場比賽打這道點剖,畢竟我沒有考場點剖經驗。

第四題沒有部分分,一臉懵逼(連輸出 No 都忘了,雖然并沒有分)。

結果第一題耗了2小時,對拍不斷報錯,我不斷發現自己算法是錯的,幸好我一直找到了改進的方法,最後終于弄出了正解。

還剩一個鐘,我去打二三題暴力。這時還剩半個鐘,我本應該去思考第二題如何減枝,這樣說不定能200+實作翻盤,但我自信以為自己30分鐘以内能解決第三題,便碼了起來。結果比賽結束我還沒打到點剖主程式。

成績170,還算可以,但是Day1太爆炸,便錯失進入第三天的機會了。

Day 3

雖然今天沒參加(也沒旅遊),但我還是要說說。

第一題一眼莫比烏斯反演,有點想頭。第三題感覺像是回文樹(其實是腦抽)?第二、四題一臉懵逼。

最後膜拜一下初三成功進隊的Werkeytom_FTD。

Day 4

Ag 滾粗,唉,相比初二時蒸蒸日下啊,該好好總結了。

Summary

正片開始!

棟有點郁悶,他覺得自己這幾天并沒有表現得特别突出,隻是将自己能拿的分都拿到了。他看着我們一個個挂了,感覺很奇怪。

其實棟有一點說的很好,我心裡也很清楚,其實大家想出來的題都差不多,理論水準都是一樣的,但就是隻有棟将水準發揮出來了。

反觀我自己,第一天第一題沒拍,第二題拍錯了,這是我不夠細心的鍋。其次第二題我的解法可以再優化,而且優化之後時間、空間和代碼複雜度都會大大減小。

第二天第一題一開始思路錯了沒有細心檢查,導緻了後面越走越遠,消耗了本來能拿來翻盤的第三題的時間。

Experience&Plans

∙ 本次比賽最大的問題就是我不能将自己的能拿的分拿到手,針對這一點提出以下經驗:

  1. 一個程式,從思考算法,到構造架構,再到考慮細節,都要十分周到,不停地思考是否存在反例,是否有可以優化和改進的地方。尤其是思路上的錯誤一定要盡早發現,以免釀成後患。
  2. 對拍程式的時候,發現程式的錯誤時,一定要有全局觀念,不要隻揪着這個錯誤不放,要放眼整個程式,想想會不會有類似的問題出現,做到事半功倍。
  3. 打程式時思路一定要清晰,這樣才能在短時間内高準确率地完成複雜的代碼。
  4. 看起來再難檢查的題目都要盡力檢查,不要嫌麻煩就放棄了。
  5. 不要揪着一兩題不放,做到每一題都思考過,都盡量拿分(例如第一天第三題40分)。
  6. 對拍一定要打好,不要錯了,不然發現了也來不及。
  7. 考場上還是不要作死打 spfa 了,這次能過是出題人很良心。還有程式複雜度本來就很大的時候少用 STL ,以免常數爆炸。

∙ 針對一些特定的思路總結經驗:

  1. 對于有浮點數出現的題目,要善于發現其中的整數,便于枚舉或進行其它亂搞。
  2. 對于一些本來很經典的問題的更新版/修改版,要善于從本來的解法尋求突破。

∙ 新的賽季,要加把勁努力了:http://blog.csdn.net/a_crazy_czy/article/details/50949947。

繼續閱讀