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 写的是加密过的分数。

posted @ 2023-09-24 11:07  383494  阅读(153)  评论(0)    收藏  举报