Beyond the Void
BYVoid
考前準備祕訣
本文正體字版由OpenCC轉換
考前準備祕訣

<>程序習慣注意

一、LinuxWindows的區別

a) 大小寫敏感

i. Windows下,文件名大小寫不敏感,例如A.PAS a.pas A.pas a.PaS沒有區別。

ii. Linux視文件名爲二進制數據,所以區分大小寫。

iii. 考試時一定要看清題目上要求,區別大小寫。

iv. Turbo Pascal生成的.pas 文件默認大寫,Free Pascal 默認小寫,注意修改文件名,尤其是在重新調試編譯後。

b) 關閉文件

i. Windows在程序退出時默認自動關閉已打開的文件,會把緩存中數據寫入硬盤。

ii. Linux下必須由程序關閉文件,否則沒有被寫入硬盤。

c) 回車符與換行符

i. Windows下,兩行文本間有回車符 (ASCII 13) 換行符 (ASCII 10)

ii. 而在Linux下,只有換行符 (ASCII 10)

d) Read Readln

i. 由於回車與換行在Windows Linux下存在有區別,編程時要格外注意。

ii. 尤其讀字符串時,儘量採用Readln,而不要 While not eof readWhile not eofln read

e) 多餘字符過濾

i. Arbiter評測系統有多個插件,分爲整數比較(過濾無效字符)和逐字節比較。

ii. 由於評測插件的原因,注意輸出結果時,儘量不要有多餘空格或換行。

iii. 對於一個整數,使用write輸出。

iv. 對於多個整數,輸出最後一個時不要有多餘空格或換行。

v. 對於一個字符串,儘量使用write整體輸出。

二、保存文件

a) 注意文件名,保存要求,目錄結構等問題。

b) 某些省份(如 河南)要求同時提交.exe文件,注意不要漏交。

<>考前十點提醒

一、一定要想好了算法,思路清晰了再編。分析問題時遇到一些即興問起的情況,馬上要深入下去,看已有的算法思路是否有問題。經驗證明,這種即興提起的問題往往是決定算法正誤的關鍵問題。這是一種本能的質疑,本能的差錯,一定不要想:我一會再來看這個問題。一定要立即想清楚,看算法怎麼樣處理才能解決這樣一個問題。確認算法沒有什麼錯誤了再編。如果思路沒清晰,算法不對,編到一半時才發現錯了,這種情況沒有考慮到,浪費了很多時間,或者編完了都還不知道算法是錯的,最後由於樣例特殊,過了樣例,以爲對了,但實際上只得10分,或者根本不得分。

二、對於簡單的題,一定要考慮全面,不是編好了程序再來考慮全面,而是想算法的時候就要考慮全面。不要知道個大概就開始寫,後來發現一些特殊數據要作特殊處理,又把程序改過去改過來,改得面目全非,最後老是改不對,不但影響心情,而且還是錯的。

三、看題要靈活,不要絆死在一道題,不要怕。NOIP的題不想就做出來,怎麼可能,肯定是需要想的。但是最好先寫好寫的題,不一定是前兩道題。其實很多時候你是有能力做起的,只是你一看就怕了,也沒有去認真想,隨便敷衍想了一點特殊情況的算法,認爲可以騙到分。但經驗證明最後基本是沒有分,即使有,最多不過10。時間是3個小時,要積極一點,經驗證明,很多題想到一定時候便想出來了。並且很簡單。

四、一定要認真讀題,讀的時候積極思考,看看這某句話到底是個什麼意思,要會轉換。特別是對於有時間的問題,到底把時間看成一個點,還是一個區間,具體題目具體分析,一定要符合題意。題沒讀懂就開始做,100%是錯的。題錯,思路也就錯,時間浪費了, 數據還是1個都不過。

五、思考算法的時候,一定要考慮到特殊數據,或一些特殊情況。想好算法,寫下各個變量的意義,明確使用的時候都是遵照這些意義的。寫下關鍵的句子,分清各種情況,這個階段最重要,一定要仔細,不要急着編程。寫完了,還要再看各變量是否帶對,是否有筆誤。等到這些做完了,重複看下整個算法實現過程,等自己解題思路清晰的時候,纔開始編程。

六、理清了思路再編程,寫好了關鍵句子再編程,弄清楚了變量再變成,速度會很快,而且正確率也很高。

七、一定要先思考清楚。很多人就是犯不思考就編程這個錯誤,最後自己就昏了。於是浪費大量時間,而且題也做不出來。一定要避免這種情況。這樣就能勝於別人。

八、程序按照思路編完之後,查編譯錯誤。經驗證明,剛剛完成的程序不出編譯錯誤的幾率基本爲0。編譯全部修正後,千萬不要測樣例。經驗證明,第一次就把樣例過了的幾率很低,即使過了,在測自己的特殊數據的時候也會出錯。所以,編譯完後一定要靜態查錯。經驗表明,靜態查錯是很有效果的。基本上每次靜態查錯都可以找到變量代錯的錯誤。特別是快排的IJ是否帶錯,DECINC是否搞錯,SWAP是不是加了VAR等等。試想:如果沒有靜態查錯,就去測樣例,如果程序有錯,樣例不過,影響心情;即使樣例過了,因爲程序有錯,特殊數據也不一定能過;即使特殊數據也過了,程序有錯,評測的時候絕對會錯。發現錯了,影響心情了,還是要來靜態查,心情不好,肯定效率低。那還不如一開始就靜態查,即使發現錯誤,獲得成就感,心情很好。千萬不要慌着去測。要保證程序無錯,思路清晰,結構清晰了,然後再去測樣例,再去測特殊數據。樣例過了不要得意,特殊數據過了不要得意,很有可能還有很多特殊情況你沒有想到。

九、做好心理準備,也許做了兩道自己認爲會全對的,還做了一道自己認爲能過幾組的。可能只得50。這也是有過的事情。除了做好那幾個步驟,沒有其他的辦法。認了吧。搬塊石頭砸天,也是沒有用的。

十、樹立正確的成敗觀。體驗第一,拿獎第二。往往能從失敗中學到更多的東西,得到更多的感悟。成功固然好,失敗也不錯。成事在天。做到了自己做到的,就是另一種意義上的成功。

<>考前時間利用

一、考前幾分鐘時間,往往能決定成敗,所以一定要做好心態調整。不要去想結果,只看過程,努力了就一定不會白費。

二、在別人緊張、坐立不安的時候,你不妨把時間利用起來。依照慣例,考試前幾分鐘是可以先調試電腦的,所以這時候一定要做些準備:

a) 設置FP

i. 默認路徑

ii. 窗口大小

iii. TAB寬度

iv. 重啓FP

b) 準備文件

i. 創建.in .out

ii. 創建模板

1. Program ***;

2. Var

3. fi,fo:text;

4. Begin

5. assign(fi,’*.in’);reset(fi);

6. assign(fo,’*.out’);rewrite (fo);

7. close(fi);

8. close(fo);

9. End.

iii. 熟悉計算機

c) 休息,等待開考

最後祝願大家在NOIP中取得好成績。

CmYkRgB123

20071116


上次修改時間 2017-05-22

相關日誌