考试
正常开题,发现 T1 很简单秒了,看 T2 也很简单,秒了,T3 貌似是一个背包,但是容量很大我一瞬间想到了生成函数然后 Bostan-Mori 直接做,但是又想到这是 NOIP 模拟赛所以放弃多项式小工业(其实我能够写出来)去想普通做法,想了一会没有太多思路,看到有 60 的拼好分就先跳了。T4 首先想了一下暴力判断,然后发现居然有 50pts,然后加上特殊性质能拼 65,于是没有思考 T4 就直接回去写代码了。
花费 20min 解决了前两道题,优势在我!然后对着 T3 想了大概 1 个小时还是不会,期间我一直在想矩阵快速幂、高消之类的东西,根本没有往最基础的背包想,后面发现已经 10:30 了就打了 60 的部分分走了。T4 上来先写了 65pts,然后去思考怎么减少连边。我很快发现可以枚举每个数作为绝对众数的贡献,然后去扫一下合法的极长区间,但是要注意有特殊的情况就是区间长度小于 4 的要特殊处理。然后开写,一直没调出来。快结束的时候简单检查了数据范围以及程序是否有 UB 就没管了。
估计:100+100+60+65。实际:100+30+40+50。
挂大分。
挂分原因+改题
T2 是因为实现不精细,但是不知道为什么别人都是被卡到 80 而我就只有 30,下午改了一行过了。T3 挂分是有一个地方要写一个边界判断,之前我写了的,但是后面改了几次代码不知道哪次搞掉了没发现。T3 其实可以直接用多项式,只是我当时不知道为什么要纠结这个问题。真正去写的话其实只要不到 30 分钟,并且很好调,下午我很快写了过了。正解是背包,感觉自己又想复杂了,一个算法要扩展首先要从本身开始,我这道题连背包本身的不同做法都没有进行深度思考就去想乱七八糟的方法,说明我这次的思路有问题。其实直接二进制分组后就是一个暑假 swc 给我们讲过的一个背包题了。T4 的特殊性质挂了,后来发现是特判的时候答案没有加 1,这一档有 15pts,比较可惜。T4 我想的应该是正解,下来交流了后发现我的做法和 hkx 比较像,然后 hkx 和 wyh 的做法又比较像。只不过我的处理方式太粗糙了,并且时间不够我做出来。后面用 wyh 的处理方式就要好写一些。
总结
这次考试挂分比较严重,然后就是在后两题时间充足的情况下并没有打出相应的分数,我认为我应该稍微缩短自己的思考时间,并且思考题目算法时候要注重逻辑顺序,不要先去想难的,要先看简单的方法能否处理。还有就是这次的检查环节有问题,就算 T2 被卡常可以理解,但是 T3T4 挂了 25pts,全都是因为一些很不起眼的地方。我认为 T4 特殊性质挂分的原因是这个情况太简单所以我没有构造小数据测,结果答案忘加 1 这种很明显的错误都没发现。这次教训告诉我不管是多少分,只要写了就要对其负责任,该有的流程一定要全,正所谓”麻雀虽小,五脏俱全“。之后的考试中我还要更加谨慎,在考试时随时提醒自己。