专栏文章

CSP 2025 随机得分大赛

生活·游记参与者 2已保存评论 1

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
1 条
当前快照
1 份
快照标识符
@minevgkj
此快照首次捕获于
2025/12/02 01:16
3 个月前
此快照最后确认于
2025/12/02 01:16
3 个月前
查看原文

CSP 2025 游记

day -365

CSP-S 2024 爆挂 60 分。
NOIP 2024 被 T1 贪心卡了两个小时,最后还因为 swap 两个数组爆挂 20 分,获得所有没过 T1 的选手中的最高分。
GDOI 2025 再次被 d2T1 贪心创飞,获得 day2 100-。

day -60

受宇宙射线影响,没有停课,没有公假。这下真成 whk 选手了。

day -42

初赛 90-,一堆智障错误。

day -7

考场咋又是深圳高级中学高中园。

day -2

赛前最后一场,信心赛。
教练:符合CSP信心赛的全部幻想:
  • 不绑包
  • 不超纲
  • 多个大样例
  • 人均300分
不是哥们这不应该是模拟赛的基本素质吗,咋都成了幻想了??
事实证明,最后一条并没有实现。
事实证明,这是真押对难度了。

day -1

把开学到现在的所有模拟赛题都重新看了一遍。惊讶的发现这个赛季竟然还没有被放 T1 的贪心搞死过。
板子应该没啥好复习的了,平衡树大抵是不可能写对了。
晚上睡不着,做噩梦,梦见没加 freopen 爆零。

day 1

这都高二了不能再打 J 组了。
中午听说 J 组特别简单,不知道下午 S 组出什么题。
14:27 ,开考了。呃这时间咋差这么离谱,我那个电脑差 差五十多秒??
解压密码又长又臭,输了三次才对。
T1,好像又是贪心,不会再重蹈覆辙吧......哇这次我竟然五分钟就会了?先按最优方案加人,然后最多只有一个装不下的,并且直接把多出来的人移动到他的第二志愿即可,这样一定不会导致其他两个爆掉?写,过样例,过大样例。高二了,终于战胜了 T1 的贪心。
T2,图论,最小生成树。n104,k10n\le 10^4,k\le 10 大概率 O(n2k)O(n2^k) ??不过 m106m\le 10^6,不能每个子集跑一遍 MST。注意到不考虑 kk 直接跑 MST 能有用的边才可能有用,这样就只有 O(n)O(n) 条边了,加上 kk 带来的就是 O(nk)O(nk) 条边,然后复杂度 O(nk2kα(n))O(nk2^k\alpha(n)) ?看上去有点能过的样子,写。
啊咋样例 1 都过不了?样例解释啥意思啊,为什么要有 5 项加起来????????哦原来城市和乡镇不是一个东西啊??重写,直接过样例,过大样例。等一下这个大样例好像不是极限数据?算了不管了先开后面的。
T3,字符串?咋这么像 AC 自动机呢,说好的 NOI 级?想了十分钟无果,先跳。
T4,同时出现 n500n\le 500998244353998244353,计数 dp 题。赛前还说 S 组不可能出计数呢,咋真出了还放 T4。排列计数,这个限制好像不太好维护啊,而且 n,mn,m 都已经两维了。发现 cx>jc_x>j 的都可以暂时看作一样的,只需再记录一维 kk 表示有多少个 cx>jc_x>j 就好了。T4 就这样秒了?
写完了,简直是依托答辩,根本不敢测样例,这种东西一旦一次没写对需要调样例那估计可以调到吐。瞪眼调试二十分钟,真没看出啥问题,优化了一下常数。突然注意到 5003500^3 个 ll 会爆 512MB,加了滚动数组。
测小样例,一遍过。大样例,一遍过。
再次回到 T3,竟然还剩差不多 2 小时。这个开 2GB 内存是不是真给 acam 的啊?哦这个应该不是,因为保证 T1T2T_1\neq T_2,所以肯定有不同的段。而且如果能成功替换,SSTT 的不同段肯定是一样的。然后现在需要不同段的前面和后面的部分,SS 都是 TT 的前缀??
前缀问题放到树上是不是比较好搞。又是 AC 自动机 fail 树上搞得那一套吗?好像不是,这个题就是同时满足两对单纯的祖先关系,转化一下就是子树关系。子树好像是可以用 dfn 转化为区间的。那么就是,二维矩形加,单点查询??转化一下,单点加,矩形查??好的现在变成二维数点了,大力扫描线树状数组。时间空间好像都是对的。
这好像,不太好写啊?一堆细节?首先要把一个串拆成不同部分以及相同前缀和相同后缀三个部分,然后中间哈希,每个哈希值开两棵树,把两边的相同部分塞进去。然后再 dfs,询问还要离线。
不过很多地方应该都是一样的,例如把输入串分段的部分可以直接复制。
写写写,写了半个小时写完了,2.3KB。不会要 AK 了吧。
瞪十分钟,测样例。好消息,第一遍竟然没 RE。坏消息,输出全是 0。哦好像是哈希的问题,map 用的 map<int,int>,改成 ull 就行了。
过了样例 1,过了样例 2,大样例跑完,肉眼看不出来,准备 fc。
等一下咋打不开 cmd 啊?Win+R没反应??完蛋不会用电脑了。cmd在哪找啊?这个电脑怎么不能右键文件夹选择在终端中打开??Win11用多了不会用Win10了......设置里面搜咋也没有啊。那只能手写一个文件比较了。
样例 4 过了,样例 3 没过???输出一下不同的位置,只有十几个,还全都比 ans 大???这是什么神秘的 bug ?还有一个小时,不要慌,不要慌,不要慌。
等一下这咋调啊,记事本怎么那么不牛,没有 vscode 有点难受了。记事本这个预览简直完全不是人。
这个时候监考过来检查 checker。这个 checker 咋这么不牛,还要手动输入文件名??€€£已经懒到这个地步了吗??
尝试手造 hack 数据,尝试若干次均未卡掉。
这题数据还不好造,纯随机的话估计全是 0 ,况且写暴力还要时间,感觉没法拍。这咋调啊?
输出 WA 的那个询问的字符串,咋这么长。
输出 WA 的那个询问的哈希值对应的树,咋有这么许多节点。
把离线二维数点改成暴力判子树关系,输出完全一样。等一下暴力怎么跑这么快,不会又是下一个 recall 吧。
assert 了一下有没有返回节点为空、dfn 不合法,发现并无。
assert 了一下字符串分段是否有错误,发现并无。
到底是什么问题啊??
调不出来只能干点别的。发现开了 1e7 个 vector,可能炸内存,改成了修改查询的排序。
还剩 15 分钟,感觉要凉了。重新回到瞪眼调试环节。实际上是对着屏幕发呆环节。
还剩 2 分钟,删除所有调试,测试样例 4 正确,恢复所有文件名,检查四道题的 freopen,运行 checker,关闭所有窗口。
结束了。最后一次 CSP。
现在真的是随机得分了,T2 rand(80,100),T3 rand(0,100)。巧合的是,100+80+0+100=280,而去年 NOIP 也恰好 280,所以不管怎么样都是进步了。按照 €€£ 的造数据水平,上个 320 应该可以吧。
出场一问,估计又有一车人 AK 了,可能都大于省队人数,毕竟就光我们学校都有两个了。还是太菜了,码力真的不足吧。
回去复盘了 T3 代码,测样例 3,输出与考场上那个完全一样。经过一大堆 ctrl+F ctrl+H,发现可能是 trie 树上路径的问题。输出了对于 WA 的那个询问所有贡献过的串,问题一目了然,用来查询的点到根的路径并不是查询串的前缀。原因是,查询串碰到没有对应字母的子节点的情况没有即时退出,导致后面再碰到这个字母的时候会继续走,然后走出的路径不是查询串的前缀了。考场上就是少了带注释的那一行,加上就过了。
CPP
int find(int x,string s){
	for(char i:s)
		if(f[x][i-97])x=f[x][i-97];
		else return x;//
	return x;
}
然而,如果没加这个判断,如果是 B 性质,那么一个字符如果这一次找不到子节点那下一次也不会出现了,所以不加这个判断能过样例 4。赛场上没看出来 B 性质有什么用,现在算是知道了,留给写挂的正解的。感谢 B 性质没让我挂成 0 分。
因为一行的差距与 AK 擦肩而过。哦不对就算这个过了可能也还有 T2......
看 LA 群有一堆人没判 T1T2|T_1|\neq|T_2|,现在很好了大家一起挂大分。

day 2

怎么又没有全省代码。那些机构测民间数据就让他们测去呗,大家又不是不知道数据强度的影响。
洛谷和云斗都有民间数据。用复盘的代码测了一下,云斗 T2 80,T3 85,洛谷 T2 100,T3 55。既然有这么许多分。
忘了 T3 数组有没有开够,要是数组开小了的话,云斗 65,洛谷 35。最好是开够了吧。
所以大概是 100+[80,100]+[35,85]+100=[315,385],随机幅度有点大,命运完全在 €€£ 手里,看官方数据怎么造、评测机跑的多快了。
云斗那个批量评测好像有 SD 的榜,难道压缩包密码又被爆破了吗,还是 SD 直接不加密??SD 都有十几个 AK 的,不知道 GD 会有多少。不过无论如何,这次应该能去 WC 了吧??
话说今年好像又升级了评测机?3.70Ghz,内存96GB??看上去非常牛。来求神拜佛一下,€€£ 大发慈悲,希望 T2 能给我跑过去吧,希望 T3 数组不要开小,希望数据水一点别把我卡成 0 分(应该也不会吧,例如 B 性质肯定是能过的?)。
T4 题解区好像还有出题人写的出题记,看样子像是被骂了。
很多时候赛前几场模拟赛还预言挺准的,这几次都是因为种种原因没过 ds 最后 300 多,csp 真就考成这个样子。
还有不到一个月,NOIP 加油吧,调整好状态,高二最需要稳定性的时候了,不要再犯这种这么唐的错误。以后模拟赛要用 win10&DevC++,要不然考场连怎么 fc 都不会。这套题感觉不太像CSP,像一场标准的NOIP,当然可能有点太简单了。NOIP最好是还能这样出,T3/T4 各放一个 ds/dp,然后 ds 放 T4 就完全是标准版了。别放神秘贪心构造adhoc。然后如果 T1 再有贪心希望别被创死吧。

day4

出分了。(正常是明天出,使用申诉查询法提前知道)。今年竟然如此之迅速。
100+80+50+100=330。
T3 数组真的开小了,要是不开小就 70pts 。属于是因为脑残原因挂 20 。
GD 有 20 个 AK,太恐怖了。2023 那么简单,都才 18 个 AK 啊??
云斗榜 330 排到 rk40,太恐怖了。
其它的只能说比较正常吧,没太离谱。不知道能不能进 2 倍队线。不过只是 csp 而已,并不重要。
能不能进 WC ?

评论

1 条评论,欢迎与作者交流。

正在加载评论...