OI 游记大合集

前情提要:原本专供 OI 的博客(GitHub)之前 Private 了,现在密码忘了,不想折腾邮箱了,于是把本地存档扔到这里了。

CSP2023 S1 游记

第一篇游记

赛前

9.16 考试,但是上周六还没有开想起来这回事。

老师突然就:“下周就初赛了。”我:?????……

然后老师发了之前三年的真题。不知为何只有 19,20,21 年的,没有 22 年的。

然鹅周末并没有时间刷了。

所以在学校断断续续写了点。

回家上 洛谷 对了对答案,又写了写 22 年真题,结果稀烂,没有一个上五十的。

周六中午,听说上午的 J1 很简单,本来挺高兴,但是听说有“CCF 难度守恒定律”这种东西。当然咱也不知道是尊都假嘟,随缘吧……

赛时

进去先赞美 jzyz 教学楼的“奢华”。

当然还是去考试的,等了一会发终于是试卷了。

然后真就是开幕雷击:

1. 在 Linux 系统终端中,以下哪个命令用于创建一个新的目录?

A newdir $\quad$ B mkdir $\quad$ C create $\quad$ D mkfolder$\quad$

我:?????

我想这个 A 和 B, dir 一股 Windows 味道,C 更离谱,D更更长……

于是选了 A(new + dir == 新 + 目录)???

好吧其实选 mkdir

然后在 Windows 里是 md

然后还比较正常的做了起来:会就算,不会就瞎猜……没有什么很炸裂的……

直到……

11. 以下哪个命令,能将一个名为 main.cpp 的 C++ 源文件,编译并生成一个名为 main 的可执行文件?

A g++ -o main main.cpp $\quad$ B g++ -o main.cpp main

C g++ main -o main.cpp $\quad$ D g++ main.cpp -o main.cpp

我:?????

然后其实还好,就是三点看错了时间以为就剩一个小时了有点慌,然后三点半写完了才发现还有一个小时……

然后把其他题检查检查就完了。

哦对了,吐槽一下。不知道是我的涂卡笔还是我的橡皮还是答题卡的问题,擦得一团黑……

赛后

坐立不安啊……

然后某天(好像是出成绩前一天?)晚上,NOI 官网发了个新闻。

我用颤抖的心,激动的手点开,发现:

只说了分数线 33……

还以为出成绩了……

BUT 分数线这么高,好慌啊!!!

然后第二天晚上发现考了 65

欸嘿嘿

(继续备战第二轮。qwq)

$\texttt{The End}$

CSP2023 S2 游记

CSP2023 rp++

赛前

国庆节上了三天课,17 号又停了一天文化课。

但是好像都是上午模拟赛,下午听听讲题,然后摸鱼……

所以好像并没有效果……

感觉还没初赛复习努力……

然后周六上午就到了 ZZU,在车上把笔记本看没电了,还没看完去年的题。

顺便看见老师发的 Lemon 食用指南,于是记用法。(但好像用处不大?(而且考试没给软件??

QQ 群里十一点多时传出了上午普及的题目。

简单分析了分析(第一眼想法):

T1:暴力就完事了

T2:DP 尽头的贪心

T3:大模拟

T4:图论

然后简单想了想做法,和同学开始感概:普及组的题就这么抽象,提高组完蛋。

然后进考场了。

考场赛前

进去之后听见两个大佬在讨论:

A:freopen() 是干嘛用的?

B:就是文件输入输出。(到这里还没毛病)

A:代码里要写么?

B:你要是用 scanf()printf() 的话就得加,cincout 不用。

阿哲……?

然后开始写快读模板。

发现写挂了??

于是发现:for (; ch < '0' && ch > '9'; ch = getchar()) {...}

对,找这个 && 看了我五分钟,嗯……

赛时

终于发题目了!

先看了看题目,惊!Σ(っ °Д °;)っ (以下为第一感觉:)

T1:暴力就完事了

T2:DP 尽头的贪心

T3:大模拟

T4:图论

啊?????

和普及组一样……

T1

十分钟写了一个桶的做法,然后用十分钟证明正确性。

然后发现可以在开一个循环,根本不超时……

(我写的 $O(n^7)$,显然 $O(n^8)$ 也能过……)

当时想:没事,反正 CCF “不考察常数”,很好的优化啊……

然后手造数据,输出全是 0,吓了半天发现我造的数据约束太多,答案就是 0……

T2

一眼区间 DP。

我:$O(n^2)$ 怎么才 50pts,算了先写。

然后样例没过。

原来区间 DP 要是 $O(n^3)$ 枚举中间点的那种啊……

怎么就剩 35pts 了???

算了先写 35pts,跳过。

T3 & T4

根本不会。

看了半天又去想 T2 的平方做法,没思路。

突然看到特殊性质 A(两个的)。

于是 T3 模拟了只有基本类型的做法;

T4 写了一个针对 $c_i = 0$ 的贪心,手造小样例都过了,但是大样例错了百万分之一……

于是放弃了,开始玩电脑上的 VS Code,以及翻文件夹找 Lemon 玩。

最后

就剩一小时了,去了卫生间,主要是为了放放风。

然后用 freopen() 测试代码。(为甚么没有 Lemon……

发密码条了,上传代码,开始玩 Execl。

赛后

估分

乐观得分:$100 + 35 + 15 + 5 = 155$,

一般得分:$100 + 35 + 15 + 0 = 150$,

最差得分:$70 + 15 + 15 + 0 = 100$。

luogu 自测

回家后发现代码公开了?

(幸亏没有写社死的玩意……)

luogu 还有自测?官方上传?官方数据???

于是测了:(最开始 T3,T4 没数据,后来测了)

$100 + 35 + 0 + 0 = 135$

完了!

哈哈哈哈哈哈哈哈哈!(疯)

(不理解为什么 T3 挂了……TvT)

同学好多 150+ 的大佬。

老师评价

老师

感觉考的如何?

感觉不太好

T1 过了

T2 n^2 没做出来

T3 写了性质A但是洛谷好像过不了

T4 性质A写了个贪心也没过

大概135分

老师

T2 有点亏

当时光想n^2枚举左右端点,没想到只枚举一个然后往后扫。。。。

老师

这种套路咱们以前练过没有?

老师

这个应该属于常规套路吧

窒息感扑面而来……

废了,一等不保。

转机

以下写于 $\texttt{11.11}$。

一直拖着不发分数线,其实我对 $135$ 还抱有希望。

但还是有点担心,毕竟我预估分数线卡在 $135$,但同分的人太多,可能会往上划。

NOIP 快开始了,还没有出分数线。

周五晚自习下课后,发现 OI 老师发了 NOIP 名单,有我。

哈哈哈哈哈哈哈哈哈!(疯)

好歹能上 NOIP 了。

$$\text{NOIP2023}\quad\text{RP++}$$

NOIP2023 游记

你的声音击破梦魇一重一重 自最遥远的彼方呼唤我

赛前

这次 NOIP,赛前可以说是完全摆了。

老师让集训,我不去;在学校也没咋翻翻书;连历年 NOIP 真题都没看,直接裸考好吧。

还有就是,完全没心情复习。

到了星期五,晚自习溜了,自己坐火车去了 ZZ (为什么不能在 JZU 举办 qwq),晚上十点多睡了。

然后第二天坐地铁到了 ZZU,就要进考场了。

好吧感觉在 ZZ 分不清地上地下……

开赛前

在考场门口,有个 op 在 $(\sin play)’$ 钟离 (我也不认是谁,别人给我说的),我们以为是 ZZU 学生,结果考试进场他跟着进了——这是个考生?然后他还在门口排队进考场时放《好运来》……

好运来祝你好运来

好运带来了喜和爱

好运来我们好运来

迎着好运兴旺发达通四海

好吧,难绷,根本绷不住。

进考场惊喜的发现是我们亲爱的 @qy 牢湿监考。

但是好像 NOIP 比 CSP 监考严格一点,进去不让动电脑,等到 8:15 才让动,但是电脑就很……离谱:

CSP 是 Windows 10,分辨率 $1920\times1080$;
NOIP 是 Windows 7,分辨率 $1440\times900$。

硬件不好我忍了,你软件 Dev-C++ 5.11 我装了编译不了,监考老师帮我搞了搞才好*(好像是删了在装再删在装)*。

真服了……

然后当我写完 T2 的第二个 Subtask 突然电脑显示让我选系统。(因为是学生虚拟机) 然后还好代码还有,但是 Dev 5.11 又编译不了,最后用了个 Dev 5.7.4,极其不顺手。

好像不能用 Ctrl + B 打开文件夹。

软件不好还能忍,关键你刚开始下载题目的网站崩了,修了 10min,不理解但尊重。然后修好还没大样例,好像过了一个多小时才给……

好了然后基本吐槽完了 qwq……

赛时

费劲周折拿到题,CPP,启动!

dict

当时题看错了,以为对于每个字符串的询问,每个字符串只能在原串上移动两个,写了个 $O(n)$ 的最优移动,后边加一个 $O(n^2m)$ 的比较,其中因为我字符串没 sort,差异大,对比比较快可能能过 (听说 NOIP 评测机能跑 5e9)

而且大样例也 1.2s 过了,没错啊。(不会 fc,把两个写字板对齐切换用眼看的,我的眼睛就是 fc 哈哈哈 )

但是出考场听说都是 $O(nm\log m)$ 的 sort 做法,我人麻了。

80 分,没了,就这样没了……

但是我大样例过了啊?
但是我大样例过了啊?
但是我大样例过了啊?
但是我大样例过了啊?
但是我大样例过了啊?

…………

qwq

tribool

一眼就看出是并查集,但不会。

写了个指数级枚举+模拟,又写了一个 TFU 的性质,U+ 的性质没写出来,预计 20 分。

expand

题目看了两遍懂了,小性质推出来了,完全不会。

于是写个指数级枚举,又写了个平方的 DP,溜了。

预计 35 分。

run

以为还是图论,没想到是 DP。

一样的分段:指数级枚举、平方 DP加性质 B。

哦对了,这次好多给 ID 的,都分段了。

结束后

和同学讨论讨论,发现 T1 的悲剧……

后边好像是机房最高,但是我的 T1 啊……

呜呜呜~

(不如死 ZZU 得了,文化课更令人无语)

赛后

代码公开了。

先说估分吧:$0+20+35+44=99$,rank 100+。

云斗学院;$100+20+35+28=183$,rank 26;

有道小图灵:$100+20+35+48=203$,rank 17;

洛谷:$100+20+35+36=191$。

啊啊啊啊啊?

我惊了:T1 就是我的算法不错,时间复杂度也 T 飞了吧?(要是官方数据爆零就好玩了)

然后后边其实还好,云斗数据可以接受,有道完全瞎扯。(没有针对网站的意思,只针对数据,有道挺好用的 qwq)

T1 的代码 A 了……

A 了……

离奇……

后边估计就是云斗的了,估分 183,但是 rank 应该假了一点,我想最多 40+。

哦对了 T4 的指数级枚举写挂了 (根据云斗和洛谷的数据),但是平方过了,啊啊啊……疯了……

T4 云斗的 B 性质也挂了,但是洛谷多过了几个大数据点?

(它们引起恐慌了 qwq 233)

感想

诶对了是不是 11.20 出 CSP 成绩(雾)。

UPD 11.20:为什么说 CSP 成绩是 12 点发,又推迟到 16 点,我要上学啊喂!qwq

UPD 11.20:回家前预言又要往后推,果然又到了 11.22 9:00。预言到时候推到 11.24 12:00……

UPD 11.27 CPS 早出来了,100+35,没有反转 :(

T3 挂了 10,T4挂了 8,还好吧,qwq。

还比较满意吧,毕竟是第一次参加 NOIP,本来也没太高要求,就当玩玩。

其实听说学校高中学长打了 270+,好崇拜。

最惊喜的还是 T1 没挂,还 A 了。*(其实在第 10 个点可以卡我的时间复杂度,但显然卡了我的就可能卡不了别的了……)

HAICPC2024 游记

VP 去年模拟赛中位 $\color{yellow}\text{Au}$,热身赛中位 $\color{white}\text{Ag}$,正式赛下位 $\color{orange}\text{Cu}$。

比赛

题目比较抽象。

热身赛

A 题是一个大数取模,但是快读写错导致 $\color{red}\text{Wrong-Answer}$。气死了。

B 题是一个数学题,打表发现 $res\to\pi$,但是当 $n \gt 约67000$ 是会爆精度,于是大胆输出 3.14159,然后 $\color{lightgreen}\text{Correct}$ 了?

C 题是正经题,但是没写。

D 题是猜 $0\sim99$ 的随机数,答案是 $35$,试了 $29$ 发过了 233。

正赛

A 题正解是贪心,但是贪心 $\color{red}\text{Wrong-Answer}$ 了 N 发,调到封榜。然后注意到 $O(n)$ 可做,写了个枚举过了。

B 题很板,但是可爱捏初中生不会求导。然后考虑计算 $\frac{f(a+0.0001)+f(a-0.0001)}{0.0002}$ 试试,但是没时间了。

C 分类讨论,但是情况太多想不出来。

D 没看。

E 很简单,但是偏榜了,赛时也没看,应该分类讨论一下就可以了。

F 没看。

G 题看样例感觉不对劲,然后浅推一下发现就是结论,于是喜提 $\color{red}\text{Wrong-Answer}$。然后封榜后推了一下是若干个 1 和若干个 2,是个关于 2 的个数的单峰函数,想写三分但是没时间了。

H 二维 DP 应该可做,但是 ICPC 没有部分分,就没搞。

I 题很显然,但是因为忘写了一个 if (n & 1) 于是贡献了一发罚时。

J 题某位队友看了三个小时,用了半个小时机子,然后发现少些一种最复杂的情况……

K 题纯死人,我写了个 $\max_{i=1}^n \max{a} \operatorname{bitor} a_i$,简单证明就交了,然后 $\color{lightgreen}\text{Correct}$ 了?

L 题,很显然一个高位 1 拆成两个低位 1 增加 1 的个数,加上 lowbit 去减少 1 的个数,但是由于特判 $n\lt4$ 的时候输出忘记换行,导致耽误了块一个小时并且罚时。

M 没看。

最后结果通过 $4$ 题,罚时 $692$,$\color{orange}\text{Cu}$ 遗憾离场。

成绩已出,非常好爆零。

去年模拟赛中位 $\color{yellow}\text{Au}$,热身赛中位 $\color{white}\text{Ag}$,正式赛下位 $\color{orange}\text{Cu}$。

服了,什么掉分实力。

反正初三,就来玩玩,大学不打了。

今年 NOIP 拿个金(划掉)。

——Zhihu Heldivis

赛后

A 题贪心过了,但是还是 $O(n)$……

B 题 用 Python eval() 函数 14 行水过了,人生苦短,我用……

E 题可做,但是太麻烦,需要手写有理数($\dfrac pq$ 形式储存)和直线解析式,于是口胡一下就过了。

G 题写了个三分,过了……

H 题写了个预处理,过了……

K 题跑了个正解,然后考虑没有 $\sum a_i\le 10^8$ 怎么写,【洛谷讨论区】。

玩耍

一路上都在对拍(拍照),导致我手机内存爆炸快不能用了……

去的时候在水洛谷月赛;打完热身赛一直在拍照;晚上会酒店打了一场 ARC,Unrated,没掉分哈哈哈。

However 逃过了两场集训哈哈,爽!

HASC2024

暑假集训

Day 0

这是第三次集训了,和之前相比,感觉没有那么欢乐,更多的是在考虑学习上的事情。

同时也有了文化课的负担,需要担心文化课不能落下。

Day 1

Day 1 讲了树状数组和线段树基础。都比较板子,经过学习,对这两种数据结构有了更深的了解。

这俩都比较熟了,还要多写写,记住板子,别写错了。否则调树剖调一个小时发现是线段树写错了就很难受。

Day 2

Day 2 讲了线段树扩展,主要有线段树上二分、动态开点、线段树合并、可持久化、扫描线、优化建图 / DP 等。

线段树二分简单的题比较好写,但是有的题目需要考虑的比较多,比较麻烦。

动态开点比较好理解,线段树合并没写过,要抽时间练练。

可持久化线段树练了一些板子题目,还要找一些不是太板子的题目练一下应用。

扫描线、优化建图这种思想有了一定了解,主要是在代码实现上多练习。

优化 DP 感觉比较难,主要是不会把复杂度较高的 DP 式改写成能用线段树优化的式子,还是要多找点题做做,找找感觉,增加经验。

菜就多练。

Day 3

Day 3 讲了分治算法。有线段树分治、CDQ 分治和整体二分。思想比较简单,应用比较难。

线段树分治难在要把题目的条件转化为这一算法,比较考验思维;CDQ 分治有很多细节,比如合并时的细节、合并的顺序、统计答案的方式等等,要认真考虑才行;整体二分也是难在分治时的细节上,比较难写。总之要多练。

Day 4

Day 5

动态规划老大难,从初一错到高二。

DP 可以和数据结构、二分、容斥等等算法结合,树上 DP、数位 DP 还不是太熟。

DP 还是要多刷题,找感觉,静下心来推式子。

Day 6

图论。

最短路比较好写,有一些题目难在建图;差分约束也一样,板子简单,但是转化题意建图比较难。

同余最短路基本只是了解,还要加强。

最小生成树中要选择合适的算法,尤其是用 Brovka 的思想的题目,这些题目有一些数据结构合并删除等操作,还不是太熟练。

Day 7

连通性。

并查集比较简单,但是遇到不是特别板子的题就比较难写(比如:NOIP2023 T2……),还是要熟悉这种算法的套路,提高认识。

缩点等等那些比较熟了,难在缩完点后在树 / DAG 上的 DP、圆方树这些东西。

欧拉回路也是板子简单,难在建图。

Day 8

网络流。

这玩意板子也不好写,但是功能感觉比较强大。

特别是扩展的有 / 无源汇上下界最小 / 最大费用最小流 / 最大流 / 可行流这种东西,板子还是要多练练。、

建图感觉简单一点,但是有很多细节要考虑。

Day 9

IOI 欢乐赛。

T1 是交互走迷宫,其实会正解,但是写不太对。这种不是太套路的算法还是要多想想,考虑细节。

T2 是期望换根,比较简单。但是用了很长时间才想到。$O(n^2)$ 算法改到 $O(n)$ 算法时没改数组大小,RE 了一发。OI 赛制要认真检查数组大小(然鹅 Day 15 的 T2 还是开的第一档数组大小写的第二档的数据,又 RE 了)。

T3 告诉我们认真听课的重要性。

T4 是大图论,正解是做不出来的。但是没想到 50 的暴力,写了个 20 的暴力,看来暴力也要加强。

T5 是建图跑最短路,只会特殊性质。还是因为建图的方案不够优秀,导致时间复杂度比较炸。

Day 10

字符串。

感觉很有收获,对 KMP、Manacher 和 AC-自动机有了更深的认识,不再只是死记板子。

一些比较难的题需要利用这些算法处理的信息计算,以及有的题要有数据结构统计答案等等。

需要多见题,多练练。考场上不能真见着字符串就搞暴力。

Day 11

树上问题。

基础的 LCA、重心的相关性质要加强;树哈希感觉和换根 DP 比较相似,难在实现;重链剖分练的相对多一点,但是要注意线段树别写错了……树上启发式合并感觉比较玄学,难点还是数据结构的合并;点分治板子就很难,但是功能强大,要找个时间多练练板子;虚树没写过,也是要练练板子、学会应用。

Day 12

数论 $\approx$ 算命。

两个扩欧还好,CRT 也还好,BSGS、阶与原根基本比较寄。

卷积、莫反还能理解,但是式子自己推不出来,还是要多练。

筛子的话线筛还好,杜筛就有点蒙了,整除分块听懂了,但是不会写。

Day 13

广义容斥。还是推式子,不太能推……

格路计数的多重限制也不太会写……

还有一些和莫队、DP 结合的神仙题目,只能说 emm……

感觉这天的比较难,不会的比较多。

Day 14

概率期望。

主要难在算答案的式子,能理解,但是不能想到。有时候正解的式子特别简洁,但是很魔幻。

还是对概率期望的一些性质不太熟悉,难以正确推出合适的式子。

Day 15

NOIP 模拟赛。

T1 推了一下性质,发现正解,十分钟秒掉。

然后看了 T2 和 T3,不太好写,就去写 T4 的暴力分,但是不会写线筛,赛时推了推写出来了。

然后写了 T2 的纯暴力和特殊性质的 DP,35 分,然鹅挂了……

T3 写了个 $O(nq)$ 的神秘贪心,大样例跑了半个小时小时过了,看出来是线段树但是不会 PushUp。

然后发现了 T4 $n$ 是质数的性质,同时发现筛到 $O(n)$ 不一定够用。

期望得分:$100+35+40+(40\sim60) = (215\sim235)$;

实际得分:$100+0+40+50=190,\ \mathrm{rank}=5$。

总结

学了一些新的知识点,也有一些算是复习。

不管是什么知识点,主要是两部分:

  • 板子 有的题板子就比较难,比如网络流、2-SAT 等等,要写一写,熟悉一下。最开始学最短路 / 线段树的时候也觉得板子难,但是多练练,熟悉熟悉就写的顺手一些了。
  • 转化 联赛肯定不会考板子,肯定是有转化,比如考察建图、推式子等等。这方面要多练一些题目,找找感觉,发现题目的套路,把板子套到题上。

总之:多练

CSP2024S1 游记

我愿回溯选择

选择与象牙塔的幻影相错

承受注定的偏颇

也不愿在拥抱过浓墨重彩的热烈后

被迫离开

赛前

直接摆烂,毕竟 whk 上着没时间看初赛了。

当天中午在机房 摸鱼 做最后的复习,非常热闹。

准考证发了,身份证拿了,到了 $\texttt{13:50}$,直接去六号楼。

太离谱了,直接 QY 监考,梦回 NOIP 2023。

进场了,坐着了,BUT 看着 QY 就想笑()。

赛时

直接看题来。

单选

T1 是躲不过的 Linux 命令,显然 B. cd 是切换目录,D. echo 是输出,猜测 C. lslist,于是果断选 A. pwd。(感觉每次初赛的 Linux 命令环节都好欢乐)

T3 ~ T9 常规,不提了。

T10 不会啊,首先排除 A B,然后感觉既然题面 $0\lt\alpha\le1$,那么不会有 $\dfrac1{1-\alpha}$​,也不太对劲,于是果断 D

T11 ~ T14 常规,不提了。

T15 单位流量割方案数?可是我不会数数,遂寄掉,可恶……

阅读

最离谱的一集。

T1 神奇生成,然后下边不知道是个快排还是个啥,于是不会。

T2solve()solve2() 看半天不知道有啥区别,直到最后十几分钟才看见前导零,于是开始算,但是算错了好多(哭)。

T3 第一眼没看懂是个啥,然后感觉是 hash 之类的,但是 hash 值算不对,难受啊。

完型

十个完型九个 A,总部设在 CCF!

不想说什么了,题还是比较简单的。

但是不敢全选 A 改了一堆!

真离谱。

赛后

被拉壮丁干活了。

然后回机房对答案,发现错了一堆。

看着 luogu 里边都是在问 S 组 80+ 能过线不能的,去估分发现只有 75。

然后去打 ABC 了。

赛后后

在打 ABC 的时候听说泄题了,但是没当真也,也在打比赛就没管。

打完发现你谷炸了。

真逆天啊,不敢想象,今年是爆出来了,前几年是啥也不知道。

CSP-1 爆出来了,也不知道 CSP-2 是啥样,NOIP 是啥样。

也不管了,等出分罢。

出分啦

省流:$78.5$,去年 $65$。

比估分和去年高了不少,还是比较开心的。

NOI 官网CCF关于CSP-J/S2024第一轮认证题目涉嫌泄露的公告 以及 做干净的奥赛 这俩被刷到了 $5,000,000+$ 的阅读量,乐。

CCF关于CSP-J/S 2024第一轮晋级第二轮的规定 的意思是晋级基本稳啦,那就不担心了。

希望早日出分数线,看看能不能混个初赛一等,虽然没啥用。

套用去年的话结尾:

继续备战第二轮。

CSP2024 S2 游记

无能为力

我顽劣的叛逆

现实面前如此不堪一击

连固执的资本也都尽数失去

再没坚强能供自我麻痹

CSP2024 前总结

一些弱智错误

把 luogu 主页的搬过来了。

  • unique() $\to$ 之前要 sort()
  • 多测清空 $\to$ 别用 memset() 用循环(指没有限制 $T$ 限制 $\sum n$ 的题目)
  • $n \neq m \neq k \neq q \neq \dots$
  • 不开 long long 见祖宗
    • #define int long long $\to \text{MLE};;{}_{or};;\text{TLE}$
    • int $\to \text{WA}$
    • typedef long long ll; $\to \text{AC}$
  • 不看 warning 见祖宗:
    • printf("%d\n", ans);
      warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long long int’ [-Wformat=]
  • $n\le 10^5\to$ 1ll * n * n
  • 头文件
    • 用万能头 $\to$ 不能用 y1 max
    • 不用万能头 $\to$ 把库写全啊
  • 数据结构
    • 传统线段树 $\to$ seg.Build(n);
    • 分块 $\to$ len = sqrt(n); br[Get(n)] = n;
    • 树剖 $\to$ Dfs2(...) { dfn[x] = ++dfc, ... }
    • 树状数组 $\to$ for (; x < N; x += x & -x) ... for (; x; x -= x & -x) ...
  • 找重儿子(树剖 & DSU on Tree)$\to$ siz[x] = 1;
  • for (auto i : s)auto 是一个大容器的时候要加 &,否则 $\text{TLE}$
  • (res += v) % P $\to\ \text{WA}$
    (res += v) %= P $\to\ \text{AC}$
  • std::cout << tmp << '\n'; $\to\ \text{WA}$
    std::cerr << tmp << '\n'; $\to\ \text{TLE}$
    // std::cerr << tmp << '\n'; $\to\ \text{AC}$
  • char s[N], t[N], n, m; $\to\ \text{RE}$
    char s[N], t[N]; int n, m; $\to\ \text{AC}$

这基本就是一些比较唐的错误。

往年真寄

然后想一下以前 CSP / NOIP 都是咋寄的。

  • CSP2023S2
    1. 打表没删。(Sorato
    2. 没写 $n^3$ 暴力暴力导致直接写 $n^3$ DP 导致不会优化。
    3. 时间分配不合理导致大模拟没时间写部分分了。
  • NOIP2023
    1. 看错 T1 了导致写的特别麻烦(但是看错的竟然还是原题推论)
    2. T2 是并查集但是不会带权也没看出来带权。
    3. T4 $O(2^n)$ 的暴力挂了,性质也挂了,$52\to36$。
  • 所以一定要看看freopen和打表删了,cerr 也删了注意别超时。
  • 注意答题策略(优化一个没有优化前途的暴力、没有看出来正解算法都很可怕)和时间分配。
  • 暴力出奇迹,对拍保平安。不可以,总司令!
  • 注意心态,去年 CSP 发现 T2 的复杂度假了之后开始慌了,导致不太敢开 T3,最后写 T3 也很慌就没分了。

还有就是不要住全季,不要吃串串。

Day-1

上午写了点杂题找找手感。

下午主要和 @ZJY 一起打了打板子:线段树合并、ST 表、区加区求和线段树、区加区乘区求和线段树、可持久化数组、Tarjan 等等,完全被薄纱 QAQ。

Day0

上午刷了好几个反悔贪心,感觉长得都一样,然后水了一上午。

中午准备走了。

一点左右拿到了设备,感觉这次都很文明没有像 ICPC 一样疯狂对拍(?)。

@Sharpland 来机房放 Beyond。

Sharpland

然后就上车出发了,上车前 @Redamancy_Lydic 的包又丢了,等等为什么是又,至少没有丢到上海虹桥。

jzyz

下午到了酒店,

刘老师:不要离开酒店太远
岳老师:不要除了吃饭乱跑
刘老师:听岳老师的

然后下午就在酒店里边复习打图论板子,然后做了个【数据删除】,就该去吃饭了。

@lihe_qwq找饭店.png。实际上图片是 jpg 格式的哈哈。

lihe

最后吃的汇编,啊不是,吃的烩面,然后 @Redamancy_Lydic 提出拍个合照,但是赛博版。

hezhao

之后去商店买点第二天考试吃喝的东西。我买了个不知道有没有用的饮料,@yxans 好像对小奶龙很感兴趣。见图:

nailong

晚上回去在聚到一个房间里一块学习[Java 实现非传统物理学模拟工程],可是我的电脑进不去服务器,只能一个人独自练习[瞎子模拟器],/kel。

本来说九点收设备,但是只收了手机(?)。还是乖乖洗洗睡了。

Day1

早上 & 上午 & 中午

睡到八点多,爽了。然后去吃饭,有一说一不如 ICPC & 去年 NOIP(我没统一去)早饭……

然后九点发手机,本来以为要自己去找老师领,但是 @zzuqy 送来了,/bx。

打了一会图论板子,@Redamancy_Lydic 来串门了,于是:

redamancy

吃过中午饭就回酒店,准备出发。一上车就慌了,补药寄啊啊啊 QWQ。

车上看了看 2-SAT 和差分约束,到了 ZZU 门口,在伟大的 @zzuqy 的广泛人脉下,得以坐车进入 ZZU 校园。

到了考场外,大喊我是 ANIG,我实名 XXX,被老刘制裁了,老刘组织我们拍照,有亿点社死。

【为了不成为 [数据删除],手机放车上了,所以没有照片】

进考场了,慌慌慌慌。怎么还有一个小孩哥。

$CSP-S2024\ rp++$。

赛时

开电脑让配环境了,(这个电脑上有 VSC,喜),于是配好 I/O 文件位置,写了个快读,然后发现没有 path,于是把 Dev 的 MinGW 加进去。然后发现 powershell 版本太低不能用 && 要用 ; 但是赛时不会,只能每次编译,再运行……然后跑了个 $12+(-1)=11$ 的测试快读,发现没问题埋下伏笔

发密码了,然后发现用密码进不去,结果是 让手动输入才行。看了 T1 感觉一眼贪心,然后扔桶里跑。然后代码实现有点恶心,调了十分钟吧才过。

看了 T2,发现是必修一物理题,不会呀,还好后边有提示。然后看题一眼二分,考虑先写个 $O(n^2)$ 暴力,在说优化。于是选了个公式去 Check。写完了发现错了,原来是不等式移项没有对 $a$ 正负分讨。结果分讨完结果不变。考虑公式用错了,换了个重写,发现还是不会,然后发现只有 $a<0$ 的错了,考虑快读负数读寄了,但是考虑最开始试过了,然后突发奇想把 PDF 复制的样例里的 改成了 - 就对了……啊啊啊

卡了好长时间发现过了小样例,然后感觉大样例应该有了。把 T1 测过了,然后 T2 的 $n,m\le3000$ 的过了,然后开始改二分,过了 TC 1/2 就直接测 TC 5,发现过了埋下伏笔,就去看 T3,然后战术卫生间 还是太菜了不像 ANIG 能憋尿

感觉 T3 有有个 $f(0/1,j,k)$ 记录上一次填 R 是在 $j$、填 B 是在 $k$ 的最优解的 $O(n^3)$ DP,然后注意到有一个 $n\le{\color{red}\textbf{2}}\times10^5,a\le10$ 的点,就把 DP 改成了 $f(0/1,a[j],a[k])$ 就躲过了仨点。还有一个半小时吧,回去检查了一下 T2,发现 TC 5 带性质,结果测了 TC 3/4 发现寄了,然后发现 TC5 是带性质的,发现是二分边界寄了,加了俩特判就过了,结果还是寄了一个样例,然后发现是有个 r[i] = L;,改了就过了。

然后看了 T4 感觉暴力有点太会,想了一会 T3 的优化,想改一下状态枚举颜色断点,发现是 $O(n^3)$ 的,优化可以到 $O(n^2)$,**但是好像唐了感觉还是 50 分就没细想,但是这 50 分和上边的有差集啊啊啊,而且正解的线性做法是从这个上边优化的啊啊啊啊啊啊啊!!!!!!!**然后加了个离散化看看能不能冲过去 $n,a\le 2000$ 的点,但是有多测,不太报希望。

最后还有半个多小时,检查了一下 freopen 交了一发,开始写 T4 的暴力,不太会 $n\le8$ 的写了个性质 A 的模拟分,然后发现寄了。调了半天打了一下 $a_i$ 的表发现还原假了,一看是输入 $d$ 少输一行最后一个数,改了就好了,测了带性质的那个样例测了一下输出过了。还有十分钟,再次检查文件名,用正确文件名跑了一下样例,就交了,GG。

赛后 / 总结

听说 T2 本地跑卡常,我觉得还好,但是说是 T2 样例没卡满,卡满跑了两秒多,听说还有不用二分,就一个的 $n\log n$ 的 sort,不会被卡常吧,希望 CCF 数据水点机子快点啊啊啊啊啊。

然后 T3 好像就是从 $O(n^2)$ 的 DP 上直接优化,好像不用管题直接形式上优化就过了。赛时没想 $O(n^2)$ 太失误了。

然后 T2 没测 TC 3/4 也是太过弱智,题面写的 TC 5 带性质是一点没看见,回去改的时候也有点慌,心态没调整好。

估分:$100+[60,100]+50+8=[218,258]$。

赛后

因为没有下发代码,数据删除至 Day11 出初评。

实际得分:$100+100+35+8=243$,啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊挂分了。

然后第二天打 Dmy,写了一个 const int N = 1E5 + 100;,突然心里一惊发现 CSP T3 的 $n$ 是 $2\times10^5$,于是果断打开赛时代码,发现了 const int N = 1E5 + 100;,啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊。

出一等线了,一等 Get,7 钩子 Get,卡了一波 $220$,

下一篇:NOIP 退役寄

NOIP2024 游记

一场梦魇

潜意识也被执念所欺骗

最后一个章节

面对现实睁开眼

Day -1

组了NOIP赛前模板练习,切。

然后想起来去年用 Dev 5.7 的阴影,然后发现今年 NOIP 的机房好像和 CSP 还不一样(计算中心 $\neq$ 信息中心?),于是开始慌,开始学 Code::Blocks(我要用 StructuredBinding !!)。

Day 0

上午没干什么,骂了骂洛谷不发钩子,找了个正解线性的题练根号分治,卡了一小时块长;然后开始考虑二维的主席树,发现不会。然后在机房里转悠。

得到了今年 NOIP 的机房和 CSP 一样的消息,喜。

准备出发了,在机房里放了 Interr 录的「宣传片」,对怼着我脸拍我大脸不作评价,至少比拍到了【数据删除】和【数据删除】拿个【数据删除】发癫好。

然后就走了,发现南门 LED 上是艺术高考的条幅,也没有校领导送行了。我 JZYZ OI 正在蒸蒸日上!

中午出发去郑州,感觉比 CSP 压力大多了。

入住酒店,去隔壁和高二学长玩狼人杀,唐完了。

然后开始迁移 Hexo,发现没安装 Pandoc,然后酒店的网太感人了。

然后去吃饭,然后买了一个士力架和一盒彩虹糖。回去后去另外一个隔壁完了一会就回去了。然后开始吃彩虹糖,帮别人调题,调出了 Luogu AC Code 在同样 IDE、同样编译器、同样编译指令、同样 Windows10 系统的情况下我机 AC 他机 RE 的灵异现象。然后发现彩虹糖吃了 $3/4$。

睡觉。

Day 1

吃饭,比 CSP 的好多了。

出发 ZZU,然后 JZYZ 教师去干 ZZU 志愿者的活了(?),看见 ANIG 了,%%%。

赛时

进场先安装了 Code::Blocks 取其编译器配置 VSCode ,然后开始吃彩虹糖。

发密码了,memory@2107,启动!

先看了 T1,发现时贪心,写了个 $O(n^2)$ 的暴力,然后发现可以显然优化到 $O(n\log n)$,但是感觉 NOIP 没这么简单,去看一眼 T2 等测 T1 大样例。

吃彩虹糖,发现 T2 好复杂,于是回去写 T1,过了大样例。吃彩虹糖,发现 T2 是个诈骗,是个 $\prod_{i=1}^{m-1}f(d_{i+1}-d_i)$,开始推式子,开赛两个小时后,吃彩虹糖,然后发现推的式子只适用于 $d_{i+1}-d_i=1$ 的情况,于是寄,并且发现彩虹糖没有了。

于是去看 T3,发现是个神秘题,看到 $traverse9.ans$ 是 $T$ 个 1,就写个 return [&](){while(T--)puts("1");}(), 0; 不管了。

吃彩虹糖,发现彩虹糖没有了。看到 T4,发现是 Sorato 昨天给我讲的 $O(1)$ LCA,开始写,发现一个性质可以做到 $O(n\log n)-O(1)$,开始写,然后发现如果是链的话直接输出 $r-k+1$(假飞)。

吃彩虹糖,发现彩虹糖没有了,并且 T2 的暴力是 2-SAT 并且和 $m=1$ 以及 $m=n,c_i\neq c_j$ 没交集,开始写,发现不会 $a,-a$ 必须选 $a$ 的处理,还有半个小时,慌了。

还有半小时,吃彩虹糖,发现彩虹糖没有了,交了除了 T3 的代码。

吃彩虹糖,发现彩虹糖没有了,并且 T3 的暴力是枚举树边检验是否满足搜索树性质,发现不会,调到代码输出不为零,就十分钟了,交了。

然后发现我 T2、T4 是 CE 的,T3 freopen() 是错的,紧急修正交了,没测样例。吃彩虹糖,发现彩虹糖没有了。

嗨,小彩虹糖。今天我还能在“彩虹糖”的那一个瓶子里看到你吗?

出场

发现 Hthntd & yyazzy & Air2011 都 $200^+$ 了,啊啊啊。

老刘:大概咋样。

我:阿巴阿巴阿巴,大概上不了 $200$。

抱着 Sorato 哭。

Day 6

发现出成绩了,但是没有账号。

Day 7

发现可以在云斗看,于是看,发现 $100+30+4+32=166\to\text{rnk }44^+$,寄。

求求你让我一等吧 我什么都可以做

省流:没去年打得好。吃彩虹糖,发现彩虹糖没有了。

嗨,小 Heldivis。你已经决定,从“很久很久以前”那一页上离开了吗?

$$
\Large
求求你让我一等吧\quad我什么都可以做
$$