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
- 打表没删。(S虽o然r不a是t我o)
- 没写 \(n^3\) 暴力暴力导致直接写 \(n^3\) DP 导致不会优化。
- 时间分配不合理导致大模拟没时间写部分分了。
- NOIP2023
- 看错 T1 了导致写的特别麻烦(但是看错的竟然还是原题推论)
- T2 是并查集但是不会带权也没看出来带权。
- T4 \(O(2^n)\) 的暴力挂了,性质也挂了,\(52\to36\)。
- 所以一定要看看
freopen
和打表删了,cerr
也删了注意别超时。 - 注意答题策略(优化一个没有优化前途的暴力、没有看出来正解算法都很可怕)和时间分配。
- 暴力出奇迹,对拍保平安。不可以,总司令!
- 注意心态,去年 CSP 发现 T2 的复杂度假了之后开始慌了,导致不太敢开 T3,最后写 T3 也很慌就没分了。
还有就是不要住全季,不要吃串串。
Day-1
上午写了点杂题找找手感。
下午主要和 @ZJY 一起打了打板子:线段树合并、ST 表、区加区求和线段树、区加区乘区求和线段树、可持久化数组、Tarjan 等等,完全被薄纱 QAQ。
Day0
上午刷了好几个反悔贪心,感觉长得都一样,然后水了一上午。
中午准备走了。
一点左右拿到了设备,感觉这次都很文明没有像 ICPC 一样疯狂对拍(?)。
@Sharpland 来机房放 Beyond。
然后就上车出发了,上车前 @Redamancy_Lydic
的包又丢了,等等为什么是又,至少没有丢到上海虹桥。
下午到了酒店,
刘老师:不要离开酒店太远 岳老师:不要除了吃饭乱跑 刘老师:听岳老师的
然后下午就在酒店里边复习打图论板子,然后做了个【数据删除】,就该去吃饭了。
@lihe_qwq找饭店.png。实际上图片是
jpg 格式的哈哈。
最后吃的汇编,啊不是,吃的烩面,然后 @Redamancy_Lydic 提出拍个合照,但是赛博版。
之后去商店买点第二天考试吃喝的东西。我买了个不知道有没有用的饮料,@yxans 好像对小奶龙很感兴趣。见图:
晚上回去在聚到一个房间里一块学习[Java 实现非传统物理学模拟工程],可是我的电脑进不去服务器,只能一个人独自练习[瞎子模拟器],/kel。
本来说九点收设备,但是只收了手机(?)。还是乖乖洗洗睡了。
Day1
早上 & 上午 & 中午
睡到八点多,爽了。然后去吃饭,有一说一不如 ICPC & 去年 NOIP(我没统一去)早饭……
然后九点发手机,本来以为要自己去找老师领,但是 @zzuqy 送来了,/bx。
打了一会图论板子,@Redamancy_Lydic 来串门了,于是:
菜
吃过中午饭就回酒店,准备出发。一上车就慌了,补药寄啊啊啊 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 退役寄