NOIP2024游记

· · 个人记录

Day -inf

打 zzfls 胡策,我的场直接找了几道 CSP 原题,貌似强度有点大。

Day 0

宝羊考前一天发烧回家了。

晚上在机房【数据删除】,快放学的时候又临时通知【数据删除】。

Day 1

快进到 8:15。

看了一下就 CPU,i7 开头。

随便试了一下发现貌似机子挺快。

写了个拍子,快读快写。

比赛开始,这次可以直接复制粘贴了。

看到 T1,读完题感觉直接贪就是对的,但不会证。

又想了一会没有其他更有道理的做法,于是开始写直接贪、

写了 10min 能过小样例,于是就扔了。

看 T2,好怪一个题,一看数据范围,n 怎么有 1e9 啊。

想了一会发现每段算个贡献乘起来就好了。

9 点过了 T2 小样例。

开始看 T3,发现题面好长。

读完题发现貌似是个巨神秘题。

手玩了一会不会做。

大样例下发了,开始测大样例。

T1的贪心能过大样例,然后测 T2 发现挂了。

手玩后发现题读错了。

重做了 T2,再测大样例发现好像无解判挂了。

调了一会过了 T2 样例。

于是继续想 T3。

先从 k=1 入手,玩了一会发现答案貌似就是度数减 1 的阶乘乘起来。

然后考虑 k>1,猜了个结论,写了个 nk,发现过不去样例。

手造了几组发现假了。

又想了好久,开始尝试容斥。

推了一会发现似乎可做。

写了个 n2^k 的暴力发现可以过样例。

然后胡了个树形 dp,写完之后测了最后一个大样例发现是对的,于是就没管了。

这个时候有点想上厕所,于是开始憋尿于是上了个厕所,回来开 T4。

是个 ds,看起来需要离线。

先想按右端点排序,发现不好做。

于是考虑按 k 做。

给题目转化一下发现可以 dfs 的时候给每个点维护子树内编号的极长连续段,貌似可以用 dsu on tree 做这个。

但是还是不太可做。

想了一会突然发现两个区间若有交,则一个区间的左端点或右端点一定在另一个区间内。

于是会了,开始写。

写完之后测大样例发现需要 2.3s。

仔细一看发现我写的是两个 log。

把倍增改成 O(1) lca,大样例跑了接近两秒。

卡了下常大样例 1.8s。

造了个满二叉树要跑 2.2s。

又卡了一会发现满二叉树 1.8s,但是随机树 2.02s。

然后发现光读入都跑了 0.5s。

感觉是机子的原因于是就不卡了,开始拍。

拍了 T1 n=10 没有挂。

提前 20min 交了上去。

2.5e6 个读入应该不会跑 0.5s 吧...

upt:T4 实际飞快,100+100+100+100=400。