代码源近期模拟赛总结

Day 1

看题,感觉这个 T1 看着挺难的,然后就想了想,发现 \(k=10\) 是一个简单状压的事情,然后试着去压缩这个状压状态,感觉他的状态数不会很多,然后暴力算了长度小于等于 \(5\) 的情况感觉是对的,这个时候将近一个小时,写完 T1 测大样例感觉很有希望啊,然后就放那了,然后看 T2 感觉 T2 不是很好做,感觉暴力复杂度直接起飞了,然后就没管,然后就去看 T3 了,写完 T3 比较送的分就去看 T4,这个时候已经两个小时,写了写感觉不难的分就结束了。

这一场比较大的问题就是关于 T2 的暴力分,如果真的去写的话,感觉真的不难,不应该不会这个 T2,甚至直接跑暴力能有 \(50\) 分,然后还有就是关于 T1 的常数问题,如果实现比较好看是可以通过的。

Day 2

T1 先猜了一个就是答案一定是可以不绕弯路直接修改的,然后就只剩判无解了,然后分类了一下无解的情况,然后好想就结束了?但是感觉不是很安全,于是就写了个对拍,大概半个小时的时候拍上了,然后就去看 T2 了,结果发现 T1 居然拍出来了,然后仔细想了一下,然后分类讨论就感觉很对,然后继续对拍,差不多改完就大概一个小时,然后去看 T2,T2 上来直接就会 \(n^2\),然后下意识的特判了无解并输出 \(-1\),然后算算大概能获得 \(55\) 分,感觉足够了,然后看了 T3,然后也是感觉部分分很简单,然后获得了设想的 \(60\) 分之后就跑了,写了写 T4 的大力dp,就结束了。

然后出分 T2 挂成了 \(0\),原因是无解应该输出 \(0\),T3 常数大挂了 \(20\)

听完讲评的感觉就是明明这个题很简单,但是为什么就是不会呢?甚至 T3 的正解就是 \(k=1\) 然后加一个 \(2^k\) 的枚举,为什么就是没想到呢,甚至我链的做法也是枚举了这个 \(2^k\),不知道为什么,感觉思路不是很顺畅,稳定性也相较之前差了好多。

Day 3

T1 看眼秒了,然后写了写发现过不去大样例,原来是哈希冲突了,换了个哈希通过了样例就冲了,但是感觉还是不放心,于是多加了几个,然后常数大了从之前的 \(100 \to 40\) 了。T2 直接就会 \(O(n \log^2 n)\),但是过不去,想了想感觉根本不会单 \(\log\),写了个暴力就润了,这个时候大概两个小时,去看了 T3,想了想,感觉 \(45\) 分还是比较简单的,而且还很好写,然后就开始写,最后写了 T4 的暴力,然后结果就是 \(215 \to 155\),感觉很搞笑啊。

失误就是上面说的,然后还有 T4 的更多部分分,其实赛时会了更多分,但是时间来不及了,时间上的规划还是要更好。

Day 4

开题,怎么是高联啊,T1 感觉直接做根本做不了,然后根号下的质数范围好想很小?然后直接枚举每个质数,然后直接好想就可以不用枚举不是的质数求出每对能被整除数,然后拿个 vector 存一下就可以做 \(O(n^2 \log)\),然后一测大样例我去怎么跑了 \(4s\),然后试着去卡了卡,发现可以不用拿 vector 存,可以直接算出来这样就可以避免常数问题,然后一测大样例跑 \(0.8s\) 然后就润了,然后开 T2,感觉他限制那个交点个数肯定有说法,然后直接可以求出所有交点,然后扫描线,扫到交点就交换,然后询问直接二分,然后就润了,没注意到 \(q\) 比较小,然后 T3,只会 \(10\) 分,T4 写了个爆搜,状态数很少能过 \(40\),然后就结束了。

出来之后发现 T2 交点个数 \(10^7\) 那档没过,常数大了。

Day6

半个小时看 T1,感觉啥也不会啊,然后看了看 C 性质的样例,然后发现怎么输出的 \(1\) 到中点啊,然后稍微推推样例就有感觉把左右相同的数删掉那么是不是中间的劈开两半是不是就是对的?然后写一写发现直接过大样例了😰,大概一个小时,然后就拍上了,T2 还是啥也不会,感觉只会爆搜,T3 还是只会爆搜,感觉这局寄了,然后九点半开始看 T4,感觉 T4 的 \(60\) 分很简单啊,写完之后就十点半了然后去写了爆搜就结束了,预计得分:100+20+20+60=200。

出场发现 T2 爆搜挂了,有点搞笑,怎么每次打代码源估分 \(200+\) 的时候都会给我挂到 \(100\) 啊。

Day 7

T1 半小时会了,感觉很套路,快一个小时的时候过掉,然后看 T2,T2 是串串,然后想了半个小时左右观察到了每次添加的集合是不变的,都是原串的 border,又花了半个小时然后好想跟周期有关,然后因为最小周期是那个 \(n - nxt_n\),于是在将近 10 点左右考察到了这题的全部结论,然后开始设计 dp,然后发现我设计的 dp 可以矩阵乘法来加速,然后好想就能通过这个题,于是就先开始写暴力,然后发现我这个暴力怎么过不去样例啊,这个时候 10点半了,然后对这那个样例调了半天感觉我那个东西对完了,然后玉玉了,然后发现还剩 1h,于是紧急去写了 T3T4 的暴力。

然后自己赛后对拍了,假如 \(A=baa, B=baabaa, C=abaabaa\) 当中,我这个 dp 会把 \(CAACB\)\(CBCAA\) 算成不同的方案,感觉赛时还是时间上太紧张了,没时间去写暴力和对拍了。

Day 8

来晚了,听说有人在 \(1h\) 的时候过两个题了,T1 看着挺简单的,好想拿个单调栈就随便做了,在 \(15 \min\) 的时候通过了,然后 T2 好想可以直接贪心,然后最后枚举一下往回走到哪里就可以了,但是写的时候有一些细节,比如需要合并一个区间再乘二,调的时候发现这个细节之后很快就通过了,这个时候开考 \(1 \text{h}\),然后看 T3,是串串,感觉优势在我,然后首先可以观察到一个性质就是你一个串可以选择的后缀一定互为前缀,然后这样相当于每个串就可以在若干个串里面选前几个,然后再次观察到你可以从后往前考虑,然后每次让后缀的字典序最小就可以了,观察到性质之后大概开考 \(1.5 \text{h}\),然后基本上写了大半场,然后在还剩半个小时的时候通过了,最后写了写 T4 的暴力。

感觉这场如果过 T3 能更快就好了,T4 就获得了 \(9\) 分,感觉还是没时间去细想了。

Day 9

T1 半小时秒了,来看 T2, 这个 T2 看着好不可做啊,然后差不多 \(1 \text{h}\) 的时候观察到好想这个 dis 只要满足三角形不等式就是对的,然后就可以设计出来个 dp,然后用维护凸包连续段的 slope trick 就可以拿到 \(40\) 分,然后感觉不是很好写,在开考 \(2.5 \text{h}\) 的时候在调过,感觉有点寄啊,然后看 T3,发现怎么是构造,润了,于是先去看了 T4,发现 T4 的 \(20\) 是简单的,然后我怎么调不过?然后很破防,去写了 T3 的暴力之后就回来看这个 T4,最后才调出来,感觉很破防。

反思一下就是 T2 写代码的效率挺慢的,以及没有想到差分,然后还有 T4 的暴力实现,为什么能调 \(1 \text{h}\) 的暴力,感觉需要反思。

posted @ 2026-09-08 15:43  Air2011  阅读(62)  评论(0)    收藏  举报