比赛挂分小技巧
截至目前已经挂了 \(1411\) 分,再接再厉!
-
模拟赛认真读题,尤其要注意是否有要判无解(数据不合法)这种信息。
2021.8.11 T1 没看见判无解,\(100\rightarrow 0\)
-
在图建模时注意边数规模,不要开小数组
2021.8.13 T1 差分约束应开6倍,实开2倍,\(100\rightarrow 30\)
2021.7.20 T1 理论上每个点的出度 \(\leq 2\),链式前向星应开 4 倍,实开 2 倍,\(100\rightarrow 40\)
-
平时自己读题都是瞥一眼输入输出格式就去看样例了,这样十分危险,有时重要信息会藏在这些地方。
2021.10.14 T3 没看见输出格式里写答案相等时取最小的,\(100\rightarrow 40\)
-
在写部分分时,要注意数据范围不完全递增的情况,有时候暴力可以在某个参数很大的时候运行,但部分分做法却不行。
2021.10.5 T1 暴力可以做 \(n\leq10,d\leq 10^7\),部分分做法只能做 \(n\leq 10^9,d\leq 500\),没有数据分治,\(80\rightarrow 70\)
-
比赛最后时间再紧迫也要留出两分钟检查程序命名和文件读写!
2021.9.2 T2 没有把 freopen 的注释删掉,\(30\rightarrow 0\)
-
比赛不要忘记测极限数据,特殊构造数据也是要测的, \(TLE\)、\(RE\)、\(WA\)、\(MLE\) 谁知道你会碰上哪个。
2021.8.29 T3 我用 cin 竟然没去同步! \(100\rightarrow 75\)
2020.12.5 NOIP2020 T2,没有测全 \(a\) 串,赛时没发现做法最差情况是 \(O(n^2)\) 的,\(84\rightarrow 48\)
-
在时间上把握不确定时,先把所有题目想一遍,否则可能会出现用 \(100\) 换 \(200\) 的情况。
2021.8.26 T4 全场签到题,赛时精力全花在最难的 T1 上了,丢了 T4 只需要 15min 就能拿到的 \(100\)。
-
需要养成先除后乘、边乘边除的习惯,有时候自己被卡精度了都不知道。
2020.12.5 NOIP2020 T1,在数据范围极大的情况下写了先乘后除,long long 溢出,\(90\rightarrow 60\)
2021.8.22 T1 把几个极大的值求出来后才去做运算,没有边乘边除,long double 被卡精度,\(70\rightarrow 30\)
-
不要对自己过分自信,不对拍,签到题都可以挂。
2021.7.20 T1 20min 写完没拍,挂了,\(100\rightarrow 40\)
2021.10.18 T4 20min 写完又没拍,\(100\rightarrow 60\)
2021.11.14 T1 对自己部分分迷之自信,没拍,\(40\rightarrow 0\)
-
线段树别再把
t[x].l >= l && t[x].r <= r
写成t[x].l==t[x].r
了,直接退化成 \(O(n^2)\) 的。2021.5.30 T2 犯了这个错误,然而赛时随机极限数据却表现良好,\(35\rightarrow 10\)
-
一题过了后仔细检查调试语句,尤其是没法对拍的,可能调试时写了一个阈值导致大数据会错。
2021.10.18 T2 调试时为了防止死循环,写了 dp 转移 10 层后退出,忘删了,\(70\rightarrow 15\)
-
比赛时,对拍的优先级要比写暴力高,否则是在赌自己的运气。
2021.11.7 T4 写完后没有马上对拍,返过来拍出错时仅剩 5min,没改出来,\(100\rightarrow 35\)
-
读完题应再看看样例,样例有时候会纠正原有的错误想法,避免浪费时间。
2021.11.10 T3 理解错题意,浪费 1.5h,在代码无法过样例时才意识到自己想错了,\(100\rightarrow 0\)
-
注意题目数据范围,尤其是 \(\geq 1\) 还是 \(\geq 0\) !
2021.11.12 T1 要求构造的方案 \(\geq 1\),而给入的数列是 \(\geq 0\) 的,做了除法向上取整操作,\(100\rightarrow 25\)
2021.11.18 T3 比赛快结束时写暴力十分仓促,没注意 \(a_i\geq 0\),导致树状数组死循环,\(30\rightarrow 0\)
2021.11.18 T1 没注意到 \(k1,k2\geq 0\),是可以等于 0 的,漏了一大类情况,\(100\rightarrow 10\)
-
用 bitset 的时候,输出调试完一定要把大小改回 \(N\)!
2021.11.16 T1 最后 2min 检查连通性时随手把 bitset 大小改成了 4,然后就忘了,\(100\rightarrow 10\)
-
出题人有时候会卡空间,检查空间时不要纯粹看算出来的大小,cmd 里 size code.exe 和 任务管理里的 才是真正申请的内存和运行使用内存大小。
2021.12.18 T1 算出空间 118MB,然而因为 struct 特性,程序实际多占 14MB,刚好 MLE,\(80\rightarrow 0\)
-
对于难以对拍的题目,手造数据时不要忘记造边界极限数据,这一点非常容易忘!
2021.12.22 T1 没有手造栈道刚好位于端点处的情况,没查出边界的错误,\(100\rightarrow 0\)