NOIP賽前總結

1.打代碼的時候一定要細心,for循環的末尾該不該加';'一定要認清。(主要指讀入優化)

2.由於Dev-c++裏面'1''l'非常容易混淆,能不這麼定義就不這麼定義。

3.數組的範圍一定要看清,不可超空間也不能不開夠。

4.二分等等的需要注意邊界問題,爲防萬一手寫幾個樣例來定邊界。

5.若是有多組數據或是要多次調用變量,記得將其清零或初始化。

6.有時候題目上的int計算幾次就變成了long long,不要忘開。

7.不能只相信樣例,一定要自己手動出幾個樣例來運行一下。

8.若是想到了某種方法但模板不是很熟,先打暴力,打完後拍一下,再debug9.能不用高精度就不用,比較容易寫錯。

10.沒有想法的題可以打表找一下規律。

11.有些不一定要寫在循環裏的東西可以提出來寫,預處理一下,降低複雜度。(e.g. 前綴和)

12.涉及邊界的計算要精細,例如說加不加1,是返回l還是r等等。

13.不管怎麼說,各種算法的模板一定要熟悉。

14.動態規劃的狀態轉移方程實在想不出來就暴力打表,直接看出來。

15.各種運算符的優先級若不是很清楚就多打幾個括號。

16.最短路的無相邊的空間要*2,線段樹的數組空間要*417.相近的變量名儘量避免打錯,否則一發不可收拾。

18.就算認爲自己的代碼是對的,也不能少了特判,這樣萬一出什麼問題還有一定的分。

19.就算想不出來正解,也不要放棄暴力,暴力加適當優化,再減小常數,說不定可以出奇跡。
【暴力直接AC掉的又不是沒有先例。。。】

20.預防死循環啊什麼的,forwhile的邊界什麼的要注意,<=和<的區別,n和n-1的區別,正着遍歷和反着的區別……

21.排序的時候若是想不出來正解可以換一個方向,例如排序一段區間可以以起點爲關鍵字,也可以以終點或區間長度爲關鍵字。

22.想不出來就換一種方向啊,不要在一條路上執迷不悟。

23.做題順序要講求策略,先全都簡略看一遍,再決定先做哪道,後做哪道。

題目是不是很正經啊,上面的內容是不是也很正經啊,是不是是不是是不是。。。?
其實並沒有什麼正經想說的,不管怎麼說也是停了一個半月的課了,該總結的該複習的該說的都說了,自己覺得還沒有複習好倒是真的,不過那大概歸功於平時沒有抓緊時間??
最後一次考試也就是今天的考試不決定打總結了,就當是一次放縱吧。
還有僅僅一天的時間了,不如打幾個模板好好放鬆一下(喂這真的是放鬆麼摔。。)
哦還有一些自己不是很清楚的C++的自帶函數,比如lower_bound,reverse 什麼的,還是不用爲好。
真的希望能夠拿到一等獎,也不枉這一年多的學習。
或許會有些遺憾吧,不過可能以後大學就會選這方面的專業了,以這個作爲人生的航向也是不錯。
亂七八糟的說了一些,大概是因爲心裏還是沒底啊。。。。
↖(^ω^)↗加油!!!

最後貼一段僞代碼:

while(1)
    NOIP RP+=2e18;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章