CSP-S 2023 游记
蒟蒻的第一次 CSP & 第一篇游记。
同时应该也是最后一次 CSP。
第一轮
Day 998244350
下载准考证。
Day 0 (2023.9.16)
和学校请了一天的假,成功错过三门考试。血赚.jpg
上午看了看 CSP 初赛复习,写了喵了个喵,但没调完。
在谷上看到 CSP-J 出锅,希望 CSP-S 无锅。
Day 499122177
来到考点。比我校大多了.jpg
居然还有喷泉,大受震撼。
还有 30 min 开考,到楼下的运动区转转,做了几个引体向上,感觉自己好废。/kel
被各种器材震撼。
考前去了次厕所,只有 \(1/5\) 的锁是好的,且天花板坏了一块。我校是 \(1/4\),赢。
开考。
试卷是装订成册的,是我没见过世面了。
阅读程序第二题感觉好鬼畜,\(O(n \log \log n)\) 一看就感觉很对。
考场思路:
首先发现其他部分都是 \(O(n)\) 的。
for (int i = 2; i * i <= n; i++) { if (p[i]) { vector<int> d; for (int k = i; k <= n; k *= i) d.push_back(k); reverse(d.begin(), d.end()); for (int k : d) { for (int j = k; j <= n; j += k) { if (p[j]) { p[j] = false; f[j] = i; g[j] = k; } } } } }内层分析出来是 \(O(\dfrac{n}{i})\) 的,而外层总共只会跑 \(O(\dfrac{\sqrt n}{\log n})\) 次,内层把 \(n\) 提出来就是一个像调和级数的东西,外层放成 \(O(\sqrt n)\),扔进调和级数就是 \(O(\sqrt n \log n)\)。
然后这只蒟蒻就忘了乘回 \(n\),认为总时间 \(O(n)\),于是把猜的正确答案改错了。
阅读第三题 \(O(n \log (nA))\) 痛失 3 pts。
最后一题不会,只能看出是个左闭右开的东西。后来听 U 群说是猫树分治。/jk
发现谷上有答案,期望得分 \(\mathfrak{87}\) pts,实际 \(\mathfrak{87}\) pts。
注意:由于不想被开盒,上面用
\mathfrak写的成绩均四舍六入后异或了一个值。
第二轮
考试前有人大喊“原神”,但没人回应。只要我不尴尬,尴尬的就是别人
考场不能带奶茶,说是会洒到电脑上,但可以带不透明杯子。
我:那直接把奶茶装进杯子不就行了(
我后面的人:难他天?
话说完不到 5min 就有人的奶茶洒在外面地板上了。言出法随.jpg
考前 30min 试机,打了网络流板子和一点数论,发现一个都没用上.
T1 数据范围不大,好像直接暴力就过了,但我还是写了 30 min.
一开始的想法是先特判本质不同的拨圈只有一个的情况,再根据两个拨圈的差异选出可能的正确答案,\(O(n^2)\) 选出所有的答案集合后取交集就行了。
后来发现暴力 \(O(10^5)\) 能过。
T2 只能想到一个 \(O(n^3)\) 的区间 dp,能过 \(n \le 8000\) 的测试点。
T3 大模拟,写了 2h+,最终只过了前两个样例。
T4 考场上想到了 \(O(n \log^2 n)\) 的做法,看起来好像不能过就没写,出来发现大家都是这么写的,痛失 100 pts(
期望得分 \(100 + 40 + [0,50] + 0 = [140, 190]\)。
大抵是 AFO 了罢。
2023.10.22 UPD:你谷自测 \(100 + \mathfrak{59} + \mathfrak{48} + 0 = \mathfrak{183}\),可能能过?
2023.10.29 UPD: 官方分数出来了,挂了 \(\mathfrak{24}\) 分。
同样,
\mathfrak写的是加密过的分数。

浙公网安备 33010602011771号