\(\text{Update On 2020.4.8}\)
21.局部變量不要和全局的重復,不然兩邊一起用全部都成局部的值,全局就失去了作用,結果還過了樣例測試。。
20.非 \(\text{void}\) 函數一定要寫 \(\text{return}\) !!!有的是時候過了樣例,坑死人啊。。
\(\text{Update On 2020.4.7}\)
19.\(\text{int}\) 類型的數不要用 \(\text{long long}\) 輸出,即 %lld
,那樣如果是負數的話直接炸掉了。
\(\text{Update On 2020.4.4}\)
不要放棄,但也不要盲目堅持。
18.這真是一個至理啊。。“你在OJ上提交了千百遍,卻依然不能卡進那時限”,此言非虛!
這里給出一些卡常方法:
-
用快讀快輸。
-
將循環變量前加上 \(\text{register}\)。
-
把 \(\text{i++}\) 改成 \(\text{i=-}\) ~ \(i\),位運算優化。
-
盡量用位運算,\(\text{*2}\) 寫作 \(\texttt{<<1}\).其余同理。
-
函數名前加 \(\text{inline}\),可以避免非法訪問,大大加快。尤其是遞歸函數,很省棧空間!
-
開 \(\text{O3}\) 優化,具體的有模板,記錄在博客園中了。(不久也會過來了哦~)
\(\text{Update On 2020.4.1}\)
17.我真是個天才。。鏈式前向星存圖,add(a,b)
並不一定就是有向圖,有一些代碼也會悄悄地在 add
函數里給我加兩條邊!!! 結果導致我調試了 \(1h\),這天才的我都服了。。。結果我用 \(\text{vector}\) 存圖可以說是
一!臉!懵!逼!
\(\text{Update On 2020.3.26}\)
16.寫完正解可以把部分分的代碼刪掉。。(不然變量名重復,數組大小值域不同,很煩的,細節上直接 \(\texttt{RE}\) 了。。
\(\text{Update On 2020.3.25}\)
15.矩陣的 \(n \times m\) 不要習慣的寫 \(n \times n\)!不然直接爆 \(0\) 了!!!
14.雙重循環不要寫成 for(int j=1;j<=n;i++) ,這樣子很煩的!!!
\(\text{Update On 2020.3.23}\)
13.並查集要初始化!並查集要初始化!並查集要初始化!並查集要初始化!並查集要初始化!並查集要初始化!並查集要初始化!並查集要初始化!
\(\text{Update On 2020.3.22}\)
12.求最大子段和的時候,\(\texttt{ans}\) 的初值是 \(\max(a_1,0)\) 而不是 \(a_1\) !因為,最大子段和可以取一個空集,此時答案為 \(0\);要防止所有數都是負數的情況。
\(\text{Update On 2020.3.18}\)
11.\(\text{AC}\) 自動機中,最好用 結構體 + 數組 ,純用數組不太好。。。
10.所有的數字默認 \(\texttt{int}\) 類型。比方說,\(\texttt{1 << 62}\) 就會溢出炸掉,但是 \(\texttt{1ll <<62}\) 就完好無損。
\(\text{Update On 2020.3.16}\)
9.注意long long取最小值,ans需要定到 (1ll << 62) .
8.freopen調試的時候可以去掉,但是提交的時候記得開起來!
7.線段樹維護區間和 開long long ! 開long long ! 開long long !
\(\text{Update On 2020.3.10}\)
6.多組數據的 初始化! (多次導致程序直接崩潰)
\(\text{Update On 2020.2.28}\)
5.線段樹的標記是累加,是+=,而不是直接=!!
4.非 void 型函數一定要記得寫 return !
3.寫完程序要用 freopen 測試一下大數據 或者和暴力對拍,不要過了樣例(然后大數據要么 WA 要么 TLE)。
2.return 不要打成 rteurn.
\(\text{Update On 2020.2.27}\)
1.線段樹開\(4\)倍。線段樹開\(4\)倍。線段樹開\(4\)倍。線段樹開\(4\)倍。線段樹開\(4\)倍。線段樹開\(4\)倍。線段樹開\(4\)倍。線段樹開\(4\)倍。線段樹開\(4\)倍。線段樹開\(4\)倍。線段樹開\(4\)倍。線段樹開\(4\)倍。線段樹開\(4\)倍。