一些離線賽的小細點。

因爲睿智錯誤過多,所以在這裏梳理一下。數組

1. 測內存

大概爆過2~3次。測試

能夠在每次打代碼的板子裏面,直接加個這樣一段代碼spa

#define CM cerr<<(&S2-&S1)<</1024./1024.<<"MB<<endl

bool S1;
……
bool S2;

int main(){
    CM;
    ……
    return 0;
}

2.輸入輸出語句(debug)

這類錯誤也犯過不僅2次了。debug

能夠在檢查的時候,使用Ctrl+Shift+f,把scanf,printf,cout,cerr這些語句直接找出來,一個個看過去。code

在檢查輸入的時候,要把輸入的格式與本身的讀入變量一個個對過來。內存

3.變量類型

爆long long!爆long long!!爆long long!!!string

每次結束的時候把變量名一個個看過來,從新計算一下會不會爆限制。io

4.數組越界

這也是常常犯的問題,前幾天剛出過這類問題……class

要注意在開的數組裏面,檢查一下會不會調用數組的時候,調用到後面的內存去了,或者多維的時候打錯維了變量

最好還要測試一下極限數據,這樣對檢查頗有幫助。

5.多case

多case必定要注意清零!死了多少次不知道了……

6.取模

不要手打模數(在能複製的前提下),最好是複製題目所給定的模數。

7.正確性

最好是把樣例通通對一遍。這樣比較保險。

還有就是能對拍就對拍,別嫌麻煩(除非那種沒有意義的,好比答案大部分時間爲0什麼的)

8.切分相關

既然你切分都打下來了,而且已經知道他是對的了,就別忘記去掉對拍時加上的註釋!

最好是打一個list,把要檢查的項目寫下來,檢查過程當中一個個對過去。


睿智錯誤/不應錯的點:

2019.10.29

  1. \(string\)的前面加字符是\(O(n)\)的!
  2. 在刪掉debug的註釋的時候別把多餘的東西刪掉

2019.11.03

  1. 在切分隨機數據的時候,千萬不要把別的切分也切進去!!!

2019.11.10

  1. 正常考試的策略。T1卡住了就不要死剛,一時半會想不出來是可能的。不要慌,要先冷靜下來,把後面的暴力分打滿了再回來想正解。
  2. 暴力分能拿到的必定要盡力拿到。考試總時間就那麼短,通常是不能直接快速想出正解的(除非太水了),而此時一些暴力分能夠幫咱們一步步挖掘題目的性質,說不定暴力分打着打着就出來正解了。再說,就單單打滿暴力分也能上\(200\)分。
  3. 切下來的分要保證其正確。不要打了很久,死YY出了一檔的切分,而後考試後發現打錯了/思想是錯的,這樣就會浪費大把時間。

希望此次\(30+30+0\)能給本身一個深入的教訓。

2019.11.11

  1. 又!沒!把!切!分!切!到!
  2. 最後考仍是15分鐘不要去肝切分了!還不如去檢查!

線段樹Down操做-1寫成+1 丟 15分

T2 容斥 取模不規範 丟 20分

又只考了 100 + 20 + 55 = 175 墊底了……

相關文章
相關標籤/搜索