Logo __vector__ 的博客

博客

SDOI2023 游记

...
__vector__
2025-12-01 12:55:51

本文章由 WyOJ Shojo 从洛谷专栏拉取,原发布时间为 2023-03-15 16:01:37

Day -17

知道能去现场打。

今年是第一次去现场以正式选手参赛。

这次又是在平邑一中,或许还能再体验一把半夜打 CF, 打到一半断网,光荣掉分的快乐

UPD:这次在酒店。

看了下,我的 OI 历程中总共能正式参加 5 次 SDOI(初二,初三,初四,高一,高二)。

想进省 rk 50,不过感觉不大可能。(NOIP 省rk 87)

三倍队线想都不敢想。(UPD on 出成绩:这算是埋下伏笔了)

到时候极有可能被同队实力远强于我但 noip 发挥失常的大佬,如 $\color{black}\text{p}\color{red}\text{traffic114514} / \color{black}\text{c}\color{red}\text{ancan12345}$ 反杀。

UPD:没有被反杀

开始大量 vp SDOI。

Day -13

打了场 CF。
小号 rating $\color{cyan}\text{1407} \rightarrow \text{1471}$。

Day -12

上午模拟赛,由于忘加 freopen 垫底了(真正的倒一),校内 OJ 掉大分。

晚上打 ABC
rating $\color{green}\text{1046} \rightarrow \text{1125}$。

ABCDG,E 题本来能切 but 没读懂。

丢死人了,被 syz 巨佬吊打了。

Day -7

打了场 ABC,难度大得离谱。
只做了 ABCD。
rating $\color{green}\text{1125} \rightarrow \text{1162}$

Day -6

上午 SDOI 模拟赛,比较惨,20 分。
不过和 @ptraffic114514 同分。
在此膜拜 @快乐的大童 和 @trisomy 两个 CF 紫名巨佬,比赛前两名(除去 ACM ,使用 oeis 的)。

(我不会告诉你们, @cancan123456 因为忘写 freopen 爆零了)

下午从 7 点开始打 USACO 银组,一直到 12 点。
撅掉 T1 之后一直在撅 T2,T3 正解。没能撅掉 T2,T3,没进金组。

T3 想到了个优化,随机数据下极有可能 AC,但是很轻松卡到 $O(n^2)$,我认为美国人不会学 CCF 造数据人(出题人是 $\color{black}\text{B}\color{red}\text{enq}$ ),就没写。 (埋下伏笔)

赛后把 T3 丢给 GPT,GPT 秒出了个 O(n) 做法,我傻了。

赛后听别人说这次数据水,T2,T3 暴力优化能过,就这样与 AK 或升金擦肩而过,后悔死了。

Day -3

发准考证。
得知 SD 可以使用 NOI Linux2.0。
换 NOI Linux2.0 写题。

Day -1

八点左右出发。
路上没啥好说。
电脑没电了,只能躺椅子上。
躺了几个小时。

住全季酒店。

不愧是全寄酒店,上次 NOIP,住全季酒店的平均挂了 100 分。

和 lhx (@cancan12345) 同屋。
晚上试机,发现 Linux 文件复制不出来,找监考,监考也没办法(我 tm 考前一周都在用 Linux 啊啊啊啊啊啊)

pyyz 门口看见 qlr,拍了几张照。
这里就不放了。
一个事:
当时我们一群人坐 T1 pt 没注意看楼层,他本来要去 13 楼,结果刚过 13楼,他才意识到(“艹!”)

晚上睡不着,起来看了看 CF,大概晚 10min。
拿废弃小号交题,随便打了打 0.5h 水掉 ABC。
一些插曲:
“WA on test1??啊我交错题了!”
“艹!读错题了!”
然后睡觉。

Day 1

被鸡叫声吵醒。

点开 CF,居然涨大分。

早上吃完饭,没啥事。

(我和 lhx 没事干还颓了一会)

坐大巴车去 pyyz,门口拍了几张照。

按正常时间发密码。

计划按照 NOIP 的策略,先读完所有题,再逐个写掉。

先开 T1,第一遍读完没有任何思路,甚至只能想到一个指数级算法。

在草稿纸上画了一会,发现可以记录状态达到 $O(n^2)$。

这样有了 50 分。

但这显然满足不了我,我又想了一会,发现对一个位置,只要能走到,并且是某一条线路的终点,那么就可以出现在最终答案里。

那么显然就有一个贪心,尽可能走得远。

排序再 $O(n)$ 搜索就行了。

这样就有了 100 分。

时间 9:20。

然后扔掉,去想 T2。

读完之后没有任何头绪,直接跳过。

想 T3。

想了想,发现可以贪心做法,启发式合并左右子树答案达到 $O(nm \log^2 n)$。

这样就有了至少 40 分。

现在时间 9:40。

开始跟 T1 撅斗。

比较快的速度写完,然后 WA on 样例 2。

顿时很慌,点开大样例看了看,发现我答案算多了。

我重新读了一遍题,确定没读错。

又从头到尾检查了三四遍,猛然意识到从 $x$ 出发,而我的初始状态没有严格遵循这个规定。

改了两行代码,过掉了所有样例.

此时 10:10。

发现要想使复杂度维持住,必须写指针。

没办法,开写。

写啊写啊写,终于写完了一百五十多行的屎山。

然后 CE 了好几发。

测样例,RE!

换做平时我就弃疗了,但是这是省选,我只能硬着头皮查错。

居然真的被我盯了出来,有个地方忘判 empty 了。

改掉之后 Runtime Error on 样例 2。

手动模拟了一下,发现我的思路没错。

然后我打开了单步调试,一行一行盯,最后盯出来是释放内存搞错了。

改掉之后过掉了所有 $n \le 2333$ 的大样例。

但是 $n = 10000$ 谜之 RE。(埋下伏笔)

最后选择弃疗。

还剩下 1h,跟 T2 撅斗。

想着如果 0.5h 撅斗不下来,立刻停止,去检查。

结果真没撅斗下来。

开始检查。

首先把 T3 那一坨屎山放到 NOI Linux2.0 虚拟机里面,一测:

段错误  

吓傻了!!!!!
这还怎么调!!!
最后还是选择 debug,g++ 开了 -Wextra,编译一下,然后发现是函数忘返回了(实际上不用返回但我不小心把函数定义成了 long long)

改掉之后 NOI Linux2.0 下也没事了。

最后检查了检查 T1,T3。

T2 输出了不可以,总司令。

最后 3s 删掉了暴戾语言。

左边某 pyyz 的好像哭了。

结束。

(出场)估分 100 + 0 + 34 = 134。

和 zgc 等人对了一下,发现这个分居然还是最高的。

lhx T1 写了线段树优化建图 200 多行,不过也过了。

居然有不少人不会做 T1。

上洛谷问了一下 $n=10000$ RE 是啥情况,得知是没开栈导致。

那我估分还要再多十几分。

然后估分变成 140 左右。

中午省学会免费在 pyyz 提供午餐,现场人山人海,半天才找到空位。

pt 说他没做出来 T1。

而且有不少人不理解贪心的正确性,这是我也有点紧张怀疑自己假了(下午确定贪心是对的)。

下午 florr,意外有了 Ultra jelly 和 Mythic stinger。

笑死系列:

lhx 在颓战舰世界,当时还剩一半血,他是 9 级。

我说:“你这要是再被打一发就沉了”

lhx:“怎么可能!我血量很厚”

刚说完,对面一发炮弹打过来把 lhx 的船打爆了。

7 点左右教练组织集体去夜游。

到河滩上逛了会,拍了几张照。

(偷) 拍了几张 pt 的照片。

在石头堆上坐了一会。

看高楼的彩色灯光倒映在水面上。

晚上看了看 CF 愚人节比赛,切了 4 题,其中 3 题一遍过,另外一题吃了 12 个罚时。

lhx 在旁边看视频。

Day2

按正常时间到场。

考前不放心 Day1 T3 的 48 分,去 UOJ 群问了下,很快有人回复,大概没事。

想着 Day2 肯定很难,就想着打 3 个暴力就行了。

考前祈祷没有博弈论。

先开 T1。

。。。。第一题就给我来博弈论。

看了看数据范围,有 20pts 有手就行。

目前 5min,别人的键盘声已经很响了。

想了一会其他部分分,只想出了最多 9 步的。

扔掉,开 T2。

艹!又是博弈论

先迅速想出了最低档的暴力分。

然后想特殊性质 A。

显然答案只能是 $0$ 和 $-1$,但是不会判无解。。。。。

瞎想了个判无解,走。
(赛后才意识到我有多么愚蠢,不就是个 2-sat 板子吗!!!!!)

想 B。

模拟了一下大概贪心就行。

然后去写 T1。

先写掉最低档的 20 分。

然后写爆搜。

然后过了小样例,大样例谜之 WA 掉。

已经过去了 2.5h,看再刚下去可能就完蛋了,扔掉去写 T2。

写 T2。

快速解决最低档部分分。

然后写 B 性质。

写了一发 WA on 大样例。

重新看了一下发现我把贪心写反了,改对之后通过大样例。

大概还剩 0.5h,我检查了一会,然后 T3 不可以,总司令。

离场。

Day2 估分 20 + 32 + 0 = 52。

出去问了一圈,发现大部分人比我高。

寄。

省学会免费准备午饭。

去吃饭的事后碰见了 qlr,问了下,他 Day2 得分 210,这就是国家队 / LGM 水平 orz。

估计总分还行,100+0+48+20+32+0= 200,我考前定的目标是 100。

结束了,退房坐大巴车走。

膜拜 E 队大佬 ly(@trisomy)。

车上听说同队 Day1 T1 写正解的,除了数组开小的都过了,那 CCF 大样例强度应该还行。

UPD1

回去之后,晚上有道小图灵测了一下。

前三题不仅没挂,甚至比估分还高:100+5+48=153。

UPD2

6 题民间数据测试了一下。

100 + 5 + 48 + 25 + 32 + 0 = 210。

省第 36 名,在三倍队线内。

但是 noip 分数过低(123),最后排名不好说,希望保住前 50。

zgc (@cancan123456) 的 Day1 T3 和 gyf (@盖世88)的 Day2 T1 编译错误,默哀。

ly 太强了!!!!!

ptraffic114514 Day2 很强。

算了一下全省计算 noip 之后的标准分,省 40名,就差一名 3 倍队线。

UP3

最终得分公布,100+5+48+20+32+0=205。

SD rk37,进了三倍队线,省选前想都不敢想。

差 0.01 分进 SD 初中生 rk 前三。

争取明年 2 倍队线。

UPD4

洛谷问了下有没有概率 thusc/pkusc,得到的结果是存在理论可能。

寄了。

大概没机会去 Thusc/Pkusc 了。

看明年吧。

赛前教练说好的全省前 50 能进的 /fn /fn /fn /fn

或许可以算作一些总结?

  • 一定要在 Linux 下进行测试。
    如果我 Day1 T3 最后半个小时没有在 NOI Linux2.0 测一下,将会因系统差异损失 48 分。
  • 一定要开 -Wextra
    Day1 T3 系统差异就是靠这个找到的,-Wextra 提出的 warning 指出了这个错误。

评论

暂无评论

发表评论

可以用@mike来提到mike这个用户,mike会被高亮显示。如果你真的想打“@”这个字符,请用“@@”。