易错集
\(\text{Update On 2021.11.21}\)
NOIP2021
宝贵经验:\(n \times m \leq 10^5\) 这种东西一定要写 vector
,不要开个 \(1000 \times 1000\) 以为很稳,当出题人不卡你?
还有,在正式比赛中,一些卡常技巧会大大加快程序速度。(实测 register
和开适宜空间可以使程序 \(57s \rightarrow 2.6s\))
\(\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\)倍。