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 校园。

zzu1 zzu2 zzu3

到了考场外,大喊我是 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 退役寄