「WTF」铁锅乱炖-比赛篇
2020.08.24 模拟赛
-
多组数据,小范围搜索,大范围骗分的时候,没有注意小范围搜索的用时,导致 TLE 。
处理方式:不要贪心,同时严格把控小范围的时间空间开销,自己要预先测试!
-
从母串 \(S\) 里面提取子串 \(T\) ,然后本应该在 \(T\) 上进行的操作,全部搞在了 \(S\) 上面,导致 WA 。
-
中途修改写法,把外部的写成的某一个步骤封装或者改写成函数。其中函数的某个参数是全局变量,但是内部相关参数没有改名字,导致 WA 。
处理方式:善用替换功能。
2020.08.27 模拟赛
-
写 DP,虽然时间复杂度不对头,但是
我很自信,于是就把空间开到了极限,希望能卡过。然后它就 MLE 了,呜呜呜~
处理方式:比赛最后检查的时候一定要算一遍空间,不要太贪心。
补充:善用
MinGW
内部提供的size
,可以作为静态空间的参考; -
最后 45 分钟 rush 一个正解。由于人很慌,而且是数据结构题目,所以小数据就拼了个暴力上去,想着是有保底的分数。
测出来我就发现,我正解写对了,但是暴力居然写错了?!
-
以为 T3 不太难,于是硬刚它。没有想到它是很恶心的结论题目,于是我就花费很多时间,换来了 10pts 的好分数。
处理方式:开场时每道题先粗略地思考一下,评估难度;规划好时间,避免吊死在一棵树上,一定不可干这种傻事!。
补充:如果觉得题目难度比较大,那么应该果断先写出正确的暴力争取基础分。
2020.09.19 模拟赛
-
不读题的:
某题有多解,要求输出 " 字典序最小的一组 " 。
由于方案构造起来并不复杂,所以......直接没有看到这个要求(甚至过了大样例),暴毙。
2021.03.27 NOI Online
想了简单的 \(O(nk^2)\) 之后,觉得这个算法:啊, " 反正 ' 最多 ' 只能过 \(k\le 100\) 的部分分,就照着空间开吧 " 。
于是给 \(k\) 开了 100 的 int 的空间,于是就爆炸了!
处理方法:请对着题目数据范围,在保证不会失分,不会 MLE 的情况下开空间。
2021.07.19 UNR #5 T3
暴力 40pts,最后应该需要检查每一个状态,但是我直接把最后一个状态当做答案......
明明写个对拍就能找出的错,居然没有发现,也没有想过去写对拍,反而测了中样例就不管了......
即使当场只准备写骗分,也一定要将工作做齐备,对拍、人肉调错不能少!
2021.10.??
数据范围明确给出:
这就说明,输入数据可以有 \(n
明确提示:
-
一定要注意数据范围,注意特判边界情况;
-
读题不要想当然,如果有时间可以考虑更全面的情况,把程序修改得尽量健壮;
-
造数据自测和对拍的时候一定要注意达到任何可能的边界,极大极小都要碰到;
-
检查流程不能遗漏,万不可白丢分。
2021.10.11 模拟赛
有一道题目改到一半弃疗了,结果提交的源程序包含了错误的代码,甚至会直接 CE,导致??。
处理方法:检查时间要留充分,需要检查文件、空间、编译和所有样例!!!
2021.10.16 模拟赛
策略出大问题,后面两道题目选一道死磕,以为自己写好了正解,结果发现读错题了,最后暴力都没写过。
总结:一者,如果模拟赛的后面两道题明显不简单,则一定要积极写部分分,千万不要死磕正解;二者,写较难的题目的时候一定要从暴力先写起,一来可以验证正确性,二来可以保底;三者,给每道题安排好时间,避免死磕在某一题目上。
2021.10.17 模拟赛
以为自己 T3 过了,其实是假算法,还过了大样例,挂麻了。
总结:对于有一定思维过程的题目,只要不是太难写,一定要写好纯暴力对拍!
2021.10.18 模拟赛
第一题比较简单,以为自己可以写对,并且觉得对拍效果不大,结果就没有写对拍,然后就 WA 爆了。
总结:前面两道题目一定不能丢分!!!基础题目一定要保证稳当!!!一定要留出 30min+ 的时间检查题目,尤其是前两道题!!!写对拍!!!
2021.11.3 模拟赛
最后一道题目的部分分没有深入思考。明明有一个很简单的部分分居然都没有去想过。
如果有时间,一定要在准备骗分的题目上多思考几个部分分。不要因为某道题准备骗分而留出较少的时间来思考和实现。
2021.11.7 模拟赛
比赛开始粗略地扫了一眼题目,结果把最后一题的题目意思读错了。等到去做题的时候颇为匆忙,也没有来得及再仔细确认题目,导致悲惨的读错题几乎爆炸。
读题一定要仔细,一开始可以只把握大意,但是在做题之前一定要认真阅读题面。
2021.11.14 模拟赛
很多人挂掉了 T1,包括我。
简单地转化了问题之后,就开始把一道类似但实际上并不等同的题目的思路往上面套,并且用错误思路同时完成了提交代码和对拍程序,最后两个错误程序拍得相当欢快——然后爆炸了。
世界上没有两个相同的问题,进行任何类型的迁移都要比较两个情景是否是一致的,是否有边界区分......总之,无论什么时候,“套做法”都得慎之又慎;
此外,尽量避免对拍用的“正确”程序和测试程序有较大重合,包括思路和实现——除非测试内容与重合内容关系不大,否则不要冒险。
2021.11.16 模拟赛
今天的比赛时间分配比较失衡。
T1 明明很简单,结果自己想的时候就只会很复杂的做法,在这上面花了 1 h 40 min。
T2 其实也不难,但是想题的时候掉到死胡同里去了,居然也不会倒出来重新想一想;一条道走到黑,这是个坏习惯。
T3, T4 总共只花了 1 h,导致需要相当思考的 T4 连暴力也很难写出来。
完成前两题就花了 2 h 30 min,效率低而且收益也低,写代码难以集中,错码率挺高的。
之后模拟赛不多,一定要有紧迫感,抓紧时间。如果觉得一时半会儿想不出来就先写个保证正确的暴力,保证每道题目的保底暴力分数。
2021.11.17 模拟赛
主要是 T2 一开始思路错了,导致白花了 40 min 而一分也没有。
注意,一定要深入思考之后,确定没有问题再开始写代码,不要空耗时间寻求心理安慰;如果把这些浪费的时间投入到之后的暴力中,事实证明收益也很不错。
2022.02.12 模拟赛
这场题目比较简单,但是发挥得并不是很好。
T1 失误比较大。本来是一道比较简单的 DP 题却没有做出来,说明这类细节比较多但是本身并不难的 DP 还需要多练习。分析过程也显得不够精准间接,分析序列的差分数组肯定没有分析序列本身来得快。
T2 做得还不错;T3 里面遇到了一个不太熟悉的 NTT 技巧,需要学习一下。