\(100+15+0+20=\) 寄。
好了,本学年已经没有可以打的 ccf 比赛了。
Day -?
NOIP 前两天在补历年 NOIP 真题,有没有用我不知道。
但现在看来应该把 lxl 的 DS 题先补了。/ll
Day 0
车上看了板子,然后把 Sublime 的配置里的一团乱码硬是背下来了。
考场在人大附中,不过个人觉得机房条件貌似还不如 CSP-S 考场的。怎么说呢,首先一开始键盘空格键是坏的,不过拆了再装回去就好了。其次他们的 Enter 键占了一大块,导致\
和=
都被挤到第一行去了,然后导致 Backspace 键被挤到第一行最后面了,打起来真的难受。
另外座位也很挤,木头凳子,桌面空间很小,感觉是平时信息课的机房。
然后就开始搞配置,写对拍(然而没用到)。这时监考老师让我们把协议上交,我怎么不知道还要写这玩意?不过还好问题不大,现签了一份,然后不知不觉就开考了。
08:42 读完了所有题,感觉不是很难?T4 居然还放了一道裸 DS 题,这很 Ynoi。
然后开始想 T1。无非就是有几个连通块内可以排列,感觉是个贪心,因为别无他法了。那么只要当前位可以匹配就尽量匹配,如果两边都在连通块内,随便拿一个 0/1 就行,因为你把他换成另一个无非就是把两个位置互换了一下。所以考虑记录每个连通块的剩余 0/1 个数,这个可以预处理,然后统一记录在连通块起点的位置(这样每个连通块都有一个唯一的对应的位置)。找起点记录一个 \(lst\) 就行。然后写写写,调了一两分钟,并在 09:16 过掉了大样例。
诶?有点顺利啊。接着就自信满满地推 T2 的 dp……然而并不能 dp,也显然不用 dp……不过我当时只想着抓紧时间,没有想别的,直接就开始推了。此时就开始犯错了。推了好久,终于找到了一种比较合理的状态设计并推完了,然后准备开始码,此时 09:37,要抓紧了。然后突然意识到要手算一下样例,然后发现假了。绷。
突然,我意识到一个很严重的问题!题目求的是 \(a_i,b_i\) 的组合,序列里长什么样不重要。还有谁会犯这么低级的错误呢。
于是开始慌了,去了趟厕所回来重新推。设 \(dp_{i,0/1}\) 表示第 \(i\) 个限制起不起作用的方案数。然后推了一会儿终于在 10:00 推完了 dp2.0,赶紧开写。我把 \(c_i,d_i\) 都处理好了,\(dp\) 也写好了,答案也……等等!答案怎么统计?完了完了,都完了。没办法,只能先转 T3 了。然而还在意犹未尽地想怎么 dp。(你还在认为计数题就是 dp 吗?几周没碰数学了忘干净了是吧??)
10:37,读了好久才读懂 T3,比我一开始想的要难好多。因为不是对每个边分别求,所以从两个边走的话还可能算重。画了几个图,感觉是每个点看成一个点数为度数的完全图。但是又意识到不同的 dfs 顺序可能出来的树相同。然后到这儿就不想继续想了,于是转到 T4 去研究 DS。
嗯?感觉有点眼熟啊。跟某道 Ynoi 的 rld 开头的题有点像,但我不会做。lxl 的模拟赛里也有道类似的,但好像忘了咋做了啊啊啊!下意识地转化成二维平面,然后瞪了好久不会做。所以就回归正常逻辑想了一个 \(\mathcal{O}(n^2\log n)\) 的做法,对于每个区间求出 dfn 最小和最大的两个点,然后求 lca,这个 lca 就是区间 lca。非常简单的一个思路啊!但是我写到了 11:25,然后倍增求 lca 居然出错了!调到了 11:40 才发现goUp
函数值没有赋给u
,人傻了。不是,我的 32 分到手。-Wall
怎么没告诉我unused_value
啊?
然后又去了趟厕所,发现可以根号分治!\(k\) 小于 \(B\) 的离线下来,从大往小枚举 \(k\),直接一个窗口扫,然后线段树上暴力改就行。\(k\) 大于 \(B\) 的直接滑动然后查询即可。哦,对了,\(\mathcal{O}(\log n)\) 的倍增要改成 \(\mathcal{O}(1)\) 的欧拉序。
聪明的你肯定发现了,上面的后半是错的。显然这个复杂度还是 \(\mathcal{O}(n)\) 的。但我当时不聪明,就导致了很严重的错误决定:开写。看来去厕所可以获得灵感,但对不对就不知道了。当时我还反复确认是不是真的是 \(\mathcal{O}(n \sqrt{n})\) 的,但是可能太激动就没察觉到它是假的。
写完之后居然没怎么调就过了前三个大样例。此时 12:25,有点激动。然后第四个跑了一分钟。绷。
然后开始调整块长,调整到 \(500\) 就可以跑进 40s 了。绷。
然后纠结了好久,不知道哪儿错了,就索性交了。要是我当时输出一下大于 \(k\) 的计算次数就可以意识到了,但也许不如不意识到,不然我会崩溃的。此时我自信地认为我能过掉 \(10^5\) 的数据,就估了个 \(64\)。
此时已经 12:50 了。迅速拿了 T2 的 \(15\) 分就开摆。然后试图安慰自己:T2 应该不简单,做出来的应该不多。况且 T4 有 \(64\),运气好的话可以更高。
出考场,感觉考的不好。心情比较低落。
估分:\(100+15+0+64=179\)。
T1 有蓝?
T2 才绿?完蛋。我怎么没想到直接用数学做。
NOIP 2023 又要重演了吗……
Day 1
第二天早上一醒来就突然意识到根号复杂度假了。难过。
估分:\(100+15+0+32=147\)。
真的很难过,连省选都体验不了了。一年的努力都白费了。
半退役。
Day 7
为什么 T4 只有 \(20\) 分?!
原来是 \(\mathcal{O}(B)\) 的部分乘了个 \(\mathcal{O}(n\log n)\) 啊。
我考场时怎么想的。要是不花半个小时写“根号分治”,保留之前的暴力就有 \(32\) 了。哈哈哈。
最终分:\(100+15+0+20=135\)。
半退役。
标签:15,然后,NOIP2024,100,mathcal,游记,Day,dp From: https://www.cnblogs.com/aquizahv/p/18662945