CSP2023 游记
CSP 考完了,好渴鹅又双叒叕写篇博客压压惊。
\(\newcommand\BorderRect[4]{\color{#3}\rule{#1}{#2}\kern{-#1}\color{#4}\rule{0.5px}{#2}\kern{-0.5px}\rule{#1}{0px}\rule{0.5px}{#2}\kern{-0.5px}\kern{-#1}\rule[#2]{#1}{0px}}\newcommand\BasicInfoBarFather[8]{\BorderRect{#1}{#2}{#5}{ghostwhite}\kern{-#1}\raisebox{#2}{\raisebox{-26pt}{ \color{black}\kern{-4px} \raisebox{7px}{ \color{#7}\Huge{∙}\kern{-1px} } \raisebox{10.6px}{ \kern{-20.2px} \color{white}\scriptsize\textbf{#6}} \kern{-7px}\footnotesize\raisebox{10.2px}{\textbf{\textsf{\color{#8}#3}}}\kern{2px} \raisebox{10.2px}{\textsf{#4}}}}}\def\BasicInfoBarColorFill{#F4F4F4}\def\BasicInfoBarColorIcon{#0078D4}\def\BasicWarnBarColorFill{#FFF4CE}\def\BasicWarnBarColorIcon{#9D5D00}\def\BasicOkBarColorFill{#DFF6DD}\def\BasicOkBarColorIcon{#0F7B0F}\def\BasicErrBarColorFill{#FDE7E9}\def\BasicErrBarColorIcon{#C42B1C}\newcommand\BasicInfoBar[5]{\BasicInfoBarFather{#1}{#2}{#3}{#4}{\BasicInfoBarColorFill}{i}{\BasicInfoBarColorIcon}{\BasicInfoBarColorIcon}}\newcommand\BasicWarnBar[5]{\BasicInfoBarFather{#1}{#2}{#3}{#4}{\BasicWarnBarColorFill}{i}{\BasicWarnBarColorIcon}{\BasicWarnBarColorIcon}}\newcommand\BasicOkBar[5]{\BasicInfoBarFather{#1}{#2}{#3}{#4}{\BasicOkBarColorFill}{\tiny\kern{-2px}\raisebox{0.8px}{√}}{\BasicOkBarColorIcon}{\BasicOkBarColorIcon}}\newcommand\BasicErrBar[5]{\BasicInfoBarFather{#1}{#2}{#3}{#4}{\BasicErrBarColorFill}{\kern{-2px}\raisebox{0.6px}{×}}{\BasicErrBarColorIcon}{\BasicErrBarColorIcon}}\BasicWarnBar{200px}{26px}{警告}{此人钛蒻了,请小心}{#000000}\\\BasicInfoBar{200px}{26px}{提醒}{近墨者黑}{#000000}\\\BasicErrBar{200px}{26px}{请勿}{膜拜我}{#000000}\\\BasicOkBar{200px}{26px}{应该}{嘲讽并踩爆这个蒟蒻}{#000000}\\\)
day 0
上午开动员大会,讲了很多防爆零的注意事项,然后会自己班教练来讲课,一般都在讲编译事项、算法易错点。不过我们主要学普及组,因此没有怎么讲数据结构(虽然模拟赛经常考 :),只是提了一下。虽然看着没啥反应,但逝心里我感觉马上就要吃席了。
中午我们就回家了,路上还在讨论关于好渴鹅将前天习题的「将城墙分成 \(n\) 块」看成分块那件事。回家来就随便刷了点水题,毕竟明天就是 CSP 了,还是要找一点信心的嘛。
day 1
早上早早地起了。洗漱完,嘴里一直在念叨着「要吃席了」,但是谁又想在一年一度的 CSP 上面吃席呢?去吃了一碗红烧牛肉面,辣的很,牛肉倒是挺好吃,就是有点渴,生命的源泉已经在车上喝光了。
一下车,就跑去买了一瓶水,然后就进入了考场。
入门组
进入了考场,打开了电脑,首先就是打开任务管理器查看配置:
| 硬件 | 规格 |
|---|---|
| CPU | i3-8100 |
| GPU | 无 |
| 内存 | 8GB |
| 硬盘 | SSD,可用 23GB |
最算可以,就是编译会有点慢(€€£:怪我咯)。没想到由于监考人员的失误,我们过了 \(5\) 分钟才拿到了 pdf 的卷子。
T1
首先看到第一题:\(n\le 10^9\) 就知道又是一道思维题了。你干嘛~ 打开大样例:等等,\(1000\) 的数据答案才 \(16\),这不是妥妥的暴力么?打了一个大暴力,速度真的非常快。别说 \(10^9\) 了,根据好渴鹅的预测,\(10^{100}\) 的数据都能跑。如果你要问时间复杂度的话?我也不知道,应该是 \(\mathcal O(\log_{1.5}n)\) 把?
T2
又是臭名昭著的贪心。考场的时候没有想到单调栈做法,只打了一个 \(\mathcal O(n^2)\) 的暴力。但是我们知道 €€£ 的数据向来都很水,因此俗话说 \(n^2\) 过百万,我这个 \(10^5\) 应该也能过吧?果不其然,有道小图灵确实是 \(100\)。
T3
€€£ 你干嘛,哈哈哎哟——怎么又考数学?但是公式都给你了,敲上 \(50\) 分,直接走人。
T4
考场的时候我明明已经想到了二分+分层图,但逝考场的时候敲呱了,因此特判部分数据,一些数据跑 Dijkstra,其他的跑 bfs,实在不行就直接总司令。果然,有道小图灵 \(20\) 分整,不意外不意外~
提高组
T1
一看数据 \(n\le 8\) ???我 文明,提高组这么简单的吗?敲了一个 \(\mathcal O((nk)^{2}\times p),k=5,p=9\) 的暴力但逝,有道小图灵竟然是 \(90\) 分!!!啊啊啊啊我要杀人!
T2
本来打了一个 \(n^3\) 的暴力,就是枚举左右端点,然后对于这个区间进行一个 \(\mathcal O(n)\) 的栈判断。右面想到可以只枚举左端点,然后一路向右边处理,当栈为空就累加计数器。根本不会写 \(\mathcal O(n)\) 做法,最终挂分 \(50\)。
T3
写了一个 \(123\) 的大模拟,调了两个多小时,简称 两个小时半,但是只能过第一个小样例,不知道是不是题意理解错了。右面有道小图灵就只有 \(0\) 分了。
T4
过于困难,根本没做。

浙公网安备 33010602011771号