NOI 2020 游记

Day -1

到了长沙一中,发现和陈太阳分到了一个宿舍,rp++,然后和舍友颓了一个晚上。

Day 0

上午开幕式,差点没位置坐,暗示我今年没了?

下午笔试,好像有几个笔试题库上没有的题。不过这是小问题,都很水,NOI 唯一能 AK 的一场比赛。

最后晚上和舍友聊了聊,还是颓了一个晚上,打了个平衡树睡觉了。

Day 1

高二老年选手考前特别紧张,身体都有点发抖,努力克制住进了考场。

开题,过了大概 20min 左右发现这 T1 好像是个裸矩阵乘法,开始码。

大致 1h 的时候码完(键盘实在是不习惯,码了很久)

然后自闭的时候到了,我写了大致形如下面的代码:

for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++) if (a[i][j] > -inf)
for (int k = 1; k <= n; k++) if (b[j][k] > -inf)
...

我完全没有研究过计算机底层运行原理,这玩意儿跑了足足 4s+。

到了 2h 多的时候,我突发奇想把第三重循环内的 if 去掉了,结果从 4s 变成了 0.4s,当场懵逼。

就这么浪费了一个多小时,真的自闭了,当时想着稳住心态就拿个 Ag 吧。

开 T2。

m ≤ 22 m \le 22 m22 想了一会儿,感觉先把问题容斥一下转化成链并大小就至少可以 O ( 2 m m log ⁡ n ) O(2^m m \log n) O(2mmlogn),然而如果把链并再容斥一下变成链交 fwt 就可以 O ( 2 m m ) O(2^m m) O(2mm) 了。

由于不敢浪,赶紧码了这个暴力过了样例。随后想到一个 O ( n 2 ) O(n^2) O(n2) dp, f ( i , j ) f(i,j) f(i,j) 表示以 i i i 为根的子树,所有上节点深度 ≥ j \ge j j 的路径都已经满足要求了,此时的方案数。

转移的话大概要支持区间加,区间 set 成 0,按位乘的线段树合并。现场写了一半,以为线段树合并不能支持区间加(我好菜啊),于是扔了,最后写了个 simple 的 dp,拿了 64 暴力。

开 T3。

O ( n Q ) O(nQ) O(nQ) 二维前缀和送分,以及性质 A 是个裸莫队 O ( n n log ⁡ n ) O(n \sqrt n \log n) O(nn logn) 就能过了。性质 B 想了想不太会,扔了,于是默认性质 C 也是很难的。然后想想要不要写个四维莫队啥的,但是感觉 O ( n 7 / 4 log ⁡ n ) O(n^{7/4} \log n) O(n7/4logn) O ( n 2 ) O(n^2) O(n2) 没有区别,而且根本没写过四维莫队,所以就不浪了。

此时距离考试结束大概还有 30min 的样子,然后我前前后后检查了一通,三个题暴力确认都过样例了并且数据分治没写错,数组有没有开小,有没有忘开 long long 等等,此时大概还剩 15min。这时候没事干了,看了一眼性质 C,懵逼了——这 tm 什么傻逼部分分,为啥放在最后啊!

冷静了一下,发现要写个链表,主席树,还要再多判个数据分治,看看仅剩的 10min,草,自闭了。遗憾离场。

下午查分日常紧张到爆炸,没有任何对拍,好的是写的分一分没挂,204,但是好低啊。

后来听说 rk50 240,去掉集训队队线大概也有 220~230,我看来是没戏了。

Day 2

抱着稳住 Ag 的想法开打了。看完 T1,一点思路都没有,自闭了。10min 过去了,20min 过去了,还是没思路……看看暴力分,这 nm 只有 20 分爆搜打锤子……

上了个厕所冷静了一下,发现 m ≥ n − 1 m \ge n-1 mn1 必然有解,而且随便设定一个贪心策略归纳也是非常好证的。然后 m ≥ n − 2 m \ge n-2 mn2 的时候就相当于把 n n n 个点分成两拨,分别变成 m = n − 1 m=n-1 m=n1 的情况。如果不能分成这样的两拨那么必然无解。

于是 bitset 优化一下 dp 就行了,写完 assert 了一下看看方案合不合法,调了调过样例了。这个时候大概过了快 2h 了。

看 T2,草这什么玩意儿,一点思路都没有,先看 T3 吧。

T3 是个弦图题,我还在紧张忘了 MCS 咋写了,看看部分分,发现 n ≤ 2000 , m ≤ 4000 n \le 2000,m \le 4000 n2000,m4000 根本不会,幸好还有 A,B 的特殊性质点。边权全部相同,我想了想盲猜是个最短路,简单的证了一下感觉是对的,写了一发过样例了。特殊性质 B 也不难,写个 dp 就行了。T3 拿了 45,感觉没有更多分可以拿了,回去看 T2。

T2 真 ** 难,想了半天没有任何思路,索性就判了一下孤立点和深度 ≤ 2 \le 2 2 的树,拿 16 分走人。

考试的最后一个多小时无所事事,想打 T2 爆搜又懒得打(大雾,感觉过不了几分),考场上没想到有人爆搜剪枝能过十几二十分,不然肯定莽一波了。

下午查分的时候腿都吓软了,生怕自己 T1 挂分,那怕不是连 Ag 都没了(事实证明 Day2 不考都有 Ag 的)。而且查分推迟了好久,最后看到了自己的分:100+16+40,啊 T3 忘判 -1 了,myy 果然把 -1 放在了 A,B 的特殊性质里。

两天总分加上笔试 460,感觉有不少分都很可惜吧,要是打个 480 就稳了,460 多半比队线低几分。

最后出分,队线 447,草我居然进队了,不用高考了啊啊啊!!!

cx 哥哥和队线一分不差,压线王名副其实!这次 NFLS 总共 5 Au 回归巅峰状态,哥哥们太强了!

打了两天暴力莫名其妙进队了,感觉自己整个高中攒的 rp 终于用上了啊!

你可能感兴趣的:(比赛)