比赛挂分小技巧

截至目前已经挂了 \(1411\) 分,再接再厉!

  1. 模拟赛认真读题,尤其要注意是否有要判无解(数据不合法)这种信息。

    2021.8.11 T1 没看见判无解,\(100\rightarrow 0\)

  2. 在图建模时注意边数规模,不要开小数组

    2021.8.13 T1 差分约束应开6倍,实开2倍,\(100\rightarrow 30\)

    2021.7.20 T1 理论上每个点的出度 \(\leq 2\),链式前向星应开 4 倍,实开 2 倍,\(100\rightarrow 40\)

  3. 平时自己读题都是瞥一眼输入输出格式就去看样例了,这样十分危险,有时重要信息会藏在这些地方。

    2021.10.14 T3 没看见输出格式里写答案相等时取最小的,\(100\rightarrow 40\)

  4. 在写部分分时,要注意数据范围不完全递增的情况,有时候暴力可以在某个参数很大的时候运行,但部分分做法却不行。

    2021.10.5 T1 暴力可以做 \(n\leq10,d\leq 10^7\),部分分做法只能做 \(n\leq 10^9,d\leq 500\),没有数据分治,\(80\rightarrow 70\)

  5. 比赛最后时间再紧迫也要留出两分钟检查程序命名和文件读写!

    2021.9.2 T2 没有把 freopen 的注释删掉,\(30\rightarrow 0\)

  6. 比赛不要忘记测极限数据,特殊构造数据也是要测的, \(TLE\)\(RE\)\(WA\)\(MLE\) 谁知道你会碰上哪个。

    2021.8.29 T3 我用 cin 竟然没去同步! \(100\rightarrow 75\)

    2020.12.5 NOIP2020 T2,没有测全 \(a\) 串,赛时没发现做法最差情况是 \(O(n^2)\) 的,\(84\rightarrow 48\)

  7. 在时间上把握不确定时,先把所有题目想一遍,否则可能会出现用 \(100\)\(200\) 的情况。

    2021.8.26 T4 全场签到题,赛时精力全花在最难的 T1 上了,丢了 T4 只需要 15min 就能拿到的 \(100\)

  8. 需要养成先除后乘、边乘边除的习惯,有时候自己被卡精度了都不知道。

    2020.12.5 NOIP2020 T1,在数据范围极大的情况下写了先乘后除,long long 溢出,\(90\rightarrow 60\)

    2021.8.22 T1 把几个极大的值求出来后才去做运算,没有边乘边除,long double 被卡精度,\(70\rightarrow 30\)

  9. 不要对自己过分自信,不对拍,签到题都可以挂。

    2021.7.20 T1 20min 写完没拍,挂了,\(100\rightarrow 40\)

    2021.10.18 T4 20min 写完又没拍,\(100\rightarrow 60\)

    2021.11.14 T1 对自己部分分迷之自信,没拍,\(40\rightarrow 0\)

  10. 线段树别再把 t[x].l >= l && t[x].r <= r 写成 t[x].l==t[x].r 了,直接退化成 \(O(n^2)\) 的。

    2021.5.30 T2 犯了这个错误,然而赛时随机极限数据却表现良好,\(35\rightarrow 10\)

  11. 一题过了后仔细检查调试语句,尤其是没法对拍的,可能调试时写了一个阈值导致大数据会错。

    2021.10.18 T2 调试时为了防止死循环,写了 dp 转移 10 层后退出,忘删了,\(70\rightarrow 15\)

  12. 比赛时,对拍的优先级要比写暴力高,否则是在赌自己的运气。

    2021.11.7 T4 写完后没有马上对拍,返过来拍出错时仅剩 5min,没改出来,\(100\rightarrow 35\)

  13. 读完题应再看看样例,样例有时候会纠正原有的错误想法,避免浪费时间。

    2021.11.10 T3 理解错题意,浪费 1.5h,在代码无法过样例时才意识到自己想错了,\(100\rightarrow 0\)

  14. 注意题目数据范围,尤其是 \(\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\)

  15. 用 bitset 的时候,输出调试完一定要把大小改回 \(N\)

    2021.11.16 T1 最后 2min 检查连通性时随手把 bitset 大小改成了 4,然后就忘了,\(100\rightarrow 10\)

  16. 出题人有时候会卡空间,检查空间时不要纯粹看算出来的大小,cmd 里 size code.exe 和 任务管理里的 才是真正申请的内存和运行使用内存大小。

    2021.12.18 T1 算出空间 118MB,然而因为 struct 特性,程序实际多占 14MB,刚好 MLE,\(80\rightarrow 0\)

  17. 对于难以对拍的题目,手造数据时不要忘记造边界极限数据,这一点非常容易忘!

    2021.12.22 T1 没有手造栈道刚好位于端点处的情况,没查出边界的错误,\(100\rightarrow 0\)

posted @ 2021-10-14 18:05  Neal_lee  阅读(68)  评论(0编辑  收藏  举报