1.比賽前一天晚上請准備好你的各種證件,事先查好去往考場的路線
2.比賽之前請先調整你的屏幕分辨率到你喜歡的大小
3.比賽之前請把編譯器的字體調為你平時慣用的字體,尤其是注意這種字體中的逗號,點,1,l這種易混淆的字是不是區分明顯
4.在不影響視野的情況下,請將字號盡可能調大,方便查錯
5.請將題目通讀完以后,再開始深入思考你認為最容易的一道題
6.即使這道題再容易,也不要着急寫代碼,請先明確自己每一步要干什么后,再開始寫,輕敵會是你最大的錯誤
7.即使這道題看起來再沒法做,也不要提早放棄,這個時候紙和筆會是你最好的朋友,自己嘗試幾個例子,也許你就會找到答案
8.請一定先明確自己要干什么之后再寫程序,不要走一步想一步
9.如果這是一道動態規划題,請先把轉移方程寫在紙上再編程
10.涉及到邊界處理、加一減一之類的問題,請在紙上舉個例子,標上下標以后,在編程時參照紙上的下標寫
11.如果思考30分鍾仍一頭霧水,沒有可以實現的算法,請你果斷屏蔽掉100%的那一欄數據,開始寫60%,50%乃至30%的算法——在CSP里面,30分絕不是小數目
12.幾個常用的復雜度參考:100以下——可能是搜索;100~500——N^3,1000~5000——N^2,100000~500000——NlogN,500000以上——N或1
13.如果你發現你旁邊的人寫得很快,請你放心,他的算法十有八九是錯的, 調整好自己的心態很重要
14.雖然1s+128MB內存 (這是以前的了,現在應該是 1s + 256MB)
是標准配置,不過也不是每道題都是這樣的,還是請認真閱讀試卷首頁的試題說明
15.計算內存的方法:數組大小*類型長度/1000 / 1000=所占內存MB數,int(Pascal:longint)類型長度是4, long long (Pascal: int64) =8
16.記不住的話,記住int (Pascal: longint) 型數組在128MB內存下最大開到2500 0000是比較保險的(占100MB內存)
17.寫完程序之后,請一定不要忙着編譯,請一定要將你的代碼從頭到尾通讀一遍,也就是靜態查錯,這是整個編程過程中最重要的步驟,有的變量重復調用問題調試的話,一個小時也看不出來,靜態查錯可以一下指出錯誤
18.靜態查錯請注意以下方面:
(1)是否寫上了using namespace std? (這是C++的,Pascal就不用了)
(2)數組開得是否夠大?
(3)變量類型是否正確?
(4)memset時,所填的sizeof(XX)的XX是不是匹配?大小是不是正確? (Pascal 是 fillchar)
(5)外層循環與內層循環的i,j是不是混用了?
(6)循環之前,i,j是否定義了?
(7)輸入數據都輸入了嗎?
(8)這個程序是在執行你想讓它執行的步驟嗎?
19.通過樣例后,請你一定不要放松警惕,因為樣例並不能覆蓋所有的情況,請自己設計幾組數據,爭取卡死你的程序
20.如果出現問題,請你調試你的程序,請一定要分模塊調試,不要從頭跟到尾
21.如果你已經設計不出能卡住你的程序的數據,恭喜你可以做下一題了
22.如果你用的是windows,請你注意把system(“pause”)注釋掉 ( 針對C/C++,Pascal 不存在 )
23.為了萬無一失,請你用return 0結束你的程序 ( 同樣 , 針對 C/C++ ,建議是必須加上 )
24.在內存允許的情況下,能開普通隊列就不要用循環隊列,能開下普通數組就不要用滾動數組
25.在時間允許的情況下,能暴力就暴力,高精度能不壓位就不壓位,優化不需要的就不要
26.總之,在不超限制的前提下,能不優化就不優化,以減少代碼量和出錯概率為第一原則
27.當比賽還剩下5~15分鍾的時候,請不要再改動你的程序,即使你懷疑它對你的一個輸入給出了錯誤答案,因為你自己算出的結果也有可能是錯的
28.這個時候請你檢查是否注釋掉了該注釋掉的東西,文件名是否寫對,文件夾是否建對,請一定反復檢查!
29.今年的更改,沒有人知道究竟會變成什么樣,所以,與其瞻前顧后,不如集中精力做出你眼前的題目來的實際
30.請記住,CSP不怕暴力,怕瞎算,不怕不會,怕不敢
最后祝大家CSP2019.rp++!!
