A
B

CSP-S 模拟9 爆0记

伴随着假期的临近,暑期上半集训也将迎来尾声。对于最后一场模拟赛也是充满了抵触和期待。

抵触大抵是关于下午就可以回家了上午还要打模拟赛这件事。

期待也许是打完就可以放假了。

这也成为了这场悲剧的导火索。

比赛前一天晚上,我给家里打了通电话,表示了要放假的期待和对于这场模拟赛的没底。

没底是因为心情太浮躁,没法静下来想题,还有前几次模拟赛打的一直不好。

电话里提了一嘴可能会爆 0 ,本来是玩笑话,没想到会成真(早知道不说了)

下面来总结一下失败原因,给自己一个告诫。

1、策略方面

在拿到 pdf 文件后,我破天荒地看了看注意事项,里面有一句话说题目比较简单,可能有人会AK。

然后我就真的认为题目很简单(我真傻,真的)

于是与平时先打暴力的做法不同,我决定直接思考正解,于是便没有了暴力分的兜底(寄)。

拿到T1之后,可能是觉得题很简单,最开始直接误解题意,认为是求 \(sum - s\) 是不是质数...

然后兴致冲冲地打了个质数筛,结果发现样例不过,然后甚至怀疑是写假了而不是思路有问题。

此时我左右两位都已经构思完毕开始码代码了,当我意识的思路假了时候已经离开赛过去了半个多小时了。

然后开始急,不知道正解是什么,但是其实想出了正解,但还没证伪就被我自己否了(我也不知道为啥,可能是脑子糊涂了吧...)

之后考虑观察大样例获取性质。

于是在长达几十分钟的观察后,我发现大样例的答案貌似都位于输入数列某个数左右不超过 5 的地方(毫无道理),于是我为了保证正确性(?)将范围开到了每个数左右 10 的地方。枚举模数

然后不出意外地炸掉了...

ps:正解为枚举 \(sum - s\) 的因数当模数,(非常好证明),可惜被自己否决了(我就是一大**)。

T2 一眼看出二分答案,然后大脑宕机,不想思考。之后就寄了。

在考虑二分答案如何 check 时,我把二分的答案当成了未知量...然后推不出来。

因为上次模拟赛刚考了二分答案,跟这题几乎一模一样,于是我推断这题不一定需要二分答案(?)

最后我想了一个非常差的贪心做法。(虽然赛后证明是对的,被用在正解的check函数里)

因为没有答案这个已知量,导致实现非常困难。

我码了两个多小时,最神奇的的是它大小样例都过了...然后我兴高采烈地交了上去。

期待得分:100 tps

实际得分:0 tps

正解:二分答案,枚举 \(b\) 中的每个数,在 \(a\) 的值 \(ans - b[i]\) 区间中找到最大的 \(a\) ,然后删除,动态维护这个数列,之后如果数列中每个数都完全匹配就返回 \(true\) ,否则返回 \(false\).

T3:不知道怎么判无解,又是多测,寄掉。

当时用大样例一测,发现除了无解的地方都对,激动坏了,然后一直想到比赛结束都没想出怎么判无解

正解:枚举每个节点作为根,对比两棵树的形态,还没改这题。。。

T4 没看题,不知道。

2、技术方面

考完突然发现自己贪心学假了,跟没学一样...

还有代码能力太差,还得接着刷题。

考试看错题面四五次也是神人了...

posted @ 2025-08-04 07:50  MyShiroko  阅读(38)  评论(0)    收藏  举报