CCF NOI2021(网上同步赛)游记

CSDN同步

时间:

\(2021.7.26\) \(8:30 - 13:30\).

\(2021.7.28\) \(8:30 - 13:30\).

前言(\(Day 0\)

暑假一直在坚持编程,但是我知道一件事:就算编了整个暑假,也很难回到之前的巅峰水平,因为知识点的遗忘特别特别快。语文背书的上午背了下午就能忘,何况是几年前学的东西呢?现在看就和新学没什么两样。

不过不管怎么说,对于一个正常的初中选手,应该熟练掌握省选必备的所有算法。事实上我做到了,几乎每个初中信息生都能做到。很简单:模板在你面前,你会;但是变了个题目,就废。

\(\text{NOI}\) 我大概从来没有参加过。\(\text{NOI2020}\) 网上同步赛,因为那个时候沉迷于提升 \(\text{whk}\) 就没有去,当时还心底还颇嘲讽一些“傻傻”去考的人,没想到一年之后自己就要加入进来,也不多想什么了。

我本来没有机会去参加 \(\text{NOI}\),事实上这一生都不一定有这个机会了。因此同步赛能拿多少拿多少。目标 \(150\),也不是特别高吧(尤其对于一个新初三的学生,强一点的都是全国银牌水平了)。

冲冲冲!

Day1 (2021.7.26)

我感觉我要无了。

首先,\(\text{CCF}\) 搞了一出延迟,然后 \(8:30 \rightarrow 10:00\),我也是服了。虽然我去不了现场,但是也不能这样搞吧?什么文件都没有就给我延迟,然后到了 \(9:44\) 来个公告说 \(10:00\) 开始,提前 \(5-10\) 分钟进系统,结果系统好像 \(9:57\) 才进的去。这就为我废掉做了铺垫。

下载发现要半小时,然后 \(5\) 分钟后有学长发 \(\text{PDF}\) 和数据了,然后就不下了。\(360\) 下载真慢。

先看了下三道题,好像都是和树/图有关的,有点惊讶。前面练的动规全部没用。

\(T1\) 入手,没什么思路,直接打暴力,然后调了一会儿,就拿到了 \(30\) 分的 \(\mathcal{O}(Tnm \log n)\) 的分数(好像还有点险),不过应该有。但是 \(B\) 种特殊情况应该暴力可以过掉?那就有 \(60\) 了。不过他菊花图硬卡我,我也没办法。我更相信出题人用脚造数据。

对链没什么思路,因为那样就要写一个 \(01\) 线段树,写了一会儿发现完全写不了,然后不管了。

\(T2\) 题很长,直接跳到 \(T3\),发现 \(T3\) 题意很简单,就先写了个 \(28\) 分的暴力。然后发现 \(m=n-1\) 是棵树,树的话 \(k=0,1\) 就很好拿,但是先没写,回去看了 \(T2\).

\(T2\) 题确实长,但是意思还算简单。读懂之后就去写 \(T3\) 的树的情况,中间炸了好多次,最后还是没调出来。还是码力不够吧,就这样丢掉了宝贵的 \(16\) 分。

时间已经不多,于是我加速写 \(T2\) 暴力。(我写的暴力,是真真真的暴力)时间复杂度我都很难分析,仔细想想后应该是 \(\mathcal{O}(C_p^{n_0} qk)\),其中 \(p\) 表示总路径数。一看这玩意儿就有爆零的危险。但不管怎么说,\(10\) 分有了。写完暴力感觉这个人都不好,因为时间真的不多了。这个时候最高得分是 \(60+10+28=98\),达到总分 \(150\) 的目标太远了。于是调 \(T3\) 又没调出来。

大概最后 \(5\) 分钟,我看到了 \(T2\) \(B\) 的特殊情况,很明显,答案就是 \(1\) 或者 \(998244352\). 于是我对于 \(p \geq 10000\) 的情况(很明显暴力 \(10^4\) 超时)直接停止搜索,然后随机其中一个数输出。但多组数据么,能对一个就不错。

期望得分:\(60 + 10 + 28 = 98\).

希望总分能有 \(150\)!(看来好像不算特别难?)

upd:(图转载)

完。这是大众分 \(300\) 的节奏。

最后我们来看一下我本来应该写出的分数。

\(T1\) 暴力和特殊性质(线段树)拿到 \(70\).

\(T2\) 对于同时两种特殊性质的情况很好解决,于是 \(40\).

\(T3\) 把树的部分分可以全部拿到,于是 \(56\).

于是 \(70 + 40 + 56 = 166\).

大失败。

upd:民间测了:

\(30 + 0 + 28 = 58\),非常成功!

Day2

今天没得比赛,也没搞社会活动,就是玩。

今天三道树/图的题。盲猜明天 \(T1\) 是优化动态规划的难题。毕竟剩下只能考 \(3\) 个知识点,对吧?然后今天晚上就来复习单调队列优化和一些状态上的优化。

\(T2,3\) 就会搞一些冷门知识了吧,像打暴力之类的。(?)

会不会搞提答、构造之类的游戏题还不是特别确定。虽然我不希望有这种题,但我猜有,大概是传统艺能?

得到了官方的一些现场得分情况,因为他们是当天出分的。然后兔和 \(\text{ix35}\)\(A\) 了,剩下肯定还有好多切题(或 \(A\))的。就我这个 \(***\) 分数在现场大概是 \(350\) 左右:

T1
100:211
70:273
50:355
30:387

T2
100 57
85 64
50 164
20 316

T3
100 43
64 66
44 133
28 313

准备明天 \(\text{Fe}\).

  • 某:

    • 啊?
    • 没事,您58+300
    • 加上笔试100,说不定能压队线/se

不过要是真 \(458\) 那倒确实队稳了。

Day3(2021.7.28)

\(\text{CCF}\) 果不其然再次提前 \(-0.5h\) 表示敬意。

感觉今天一点优化都没搞到,考的都是啥啊。

三题全裸暴力。

\(T1\) \(\mathcal{O}(nm)\) (还有 \(256\) 的巨大常数)暴力给多少他看着办。毕竟还有随机数据,没准就过了呢。还写了个 \(k=1\) 的简单字典树,但是没有任何数据的静态码就不算入总分了吧。

\(T2\) 会维护操作序列,但是不会维护 \(f\),于是还是强行变成暴力。所以对特殊性质没有任何想法。

\(T3\) 一开始差一点点就以为自己想出正解了,然后迅速干掉了错的做法。然后就暴力枚举,特别暴力的那种。

期望得分:\(16+20+12=48\). 因为我自己会的太少,所以就提前 \(20\) 分钟交了,反正后面也是废掉了,就来颓游记了。结果差点赛中发布游记,还好及时隐藏了

大概会达成成就:没有一道题的得分超过 \(30\).(这是要把我整活)

这个绝对不会挂分了,绝对不会挂,因为分数内的大样例全过,因此绝绝对对不会挂分。因为昨天 \(T2\) 只测了样例,导致废掉;但是这次就绝对不会挂!!!绝对!

没关系,反正到了现场也是愉快地 \(\text{Fe}\),那就再愉快点吧~

冲冲冲!

upd:民间测了:

\(24+20+12=56\).

还好没挂分。

\(T1\) 数据貌似被我多卡过了两个点,\(k=1\) 的写萎了。

这样总分就是 \(58+56=114\),估计打铁了。是个人都比我高吧。

upd:发现 \(T1\) 基于 \(\mathcal{O}(nm)\) 的乱搞做法。

本来含有 \(256\) 的大常数,但是!由于朴素暴力只过了 \(10^4\),考虑优化。

\(32\) 位一段,逐段用 bitset 的方式找不同。由于随机 \(32\)\(16\) 个不同,加上 \(k \leq 15\),找 \(1\) 段就可以结束(当然只是均摊)。

这个方式中,“找不同”的常数大大低于线性。本来是扫一遍,现在是扫一遍不同的,而且还都是位运算,自然超快的。

根据其他人的实践结果,按照你程序的常数和分的段数,可以得到 \(36 - 80\) 不等的分数。

说实话这个没想到我也没啥好说的,位运算确实是我没复习到的点,昨天一直在复习动态规划优化然后给我来这几个题,我也是服了。

幸亏 \(\text{Day2}\) 没有挂,不然连三位数都没有,直接原地升天。

posted @ 2021-07-26 16:57  bifanwen  阅读(167)  评论(1编辑  收藏  举报