• NOIP2021游记


    NOIP2021游记

    Day -?

    CSP 之后,NOIP 之前,常州爆发了单日新增 3 例的疫情,不过后来就一直没有新的病例,当然为此也实行了 1 周的在家学习。

    这段时间参加了 nfls 的模拟赛,一直被吊打,也基本明白这次 NOIP 并不抱有太多希望。

    短暂的居家学习结束离 NOIP 的开始也仅有 1 周的时间了。

    这一周中,关于期中考试的假消息不断。开始说是 NOIP 前 2 天考,后来说是 NOIP 结束后的周一、周二考试,但实际上是 NOIP 结束后的周四、周五考试。

    Day 0

    因为是划水选手,所以这一天既没有打模板,也没有打信心赛,而是在学校上课/kk

    延时上完第一节课后就提前回家了,看了看字符串的算法:KMP、SA、manacher 这些 NOIP 范围内的字符串算法,还有连通性的算法:割点、桥、缩点、点双、边双。

    但很可惜一个都没考。

    Day 1

    早上起来之后继续在看图论,没有太早到,所以进了 SCZ 之后就直接进考场了。那个时间正好也是 SCZ 学生周六上课的时间,感觉高中的节奏跟初中是有所不同的。

    看了下我的位置,发现恰好是我平时训练做的位置,不过并不是平时训练的那个机房。在常州比赛,不知道这是不是教练特意排的。但很可惜这个位置没能保佑我考出理想的成绩。

    试机的时候非常常规地写了 gcdreadwriteQuickPowCombinatorial

    T1 很明显比 CSP-S2021 的 T1 要简单了不少,想了一下就写了个 \(O(n\log n)\) 的跑不满做法。写完后测了一下,发现 \(1e7 + 1\) 是可以被报出的数,于是把 \(limit\) 开到了 \(1e7 + 10\)。大样例过了之后就没有管了。

    T2 看了题面感觉很复杂,不过看了数据范围之后就发现很简单。把状态写在了纸上,搬了试机写的 QuickPowCombinatorial,很快就写好了。算了下复杂度发现是 \(O(n^4m)\),因为进位不可能超过 \(\left\lfloor\frac{n}{2}\right\rfloor\),于是有 \(\frac{1}{4}\) 的优秀常数。感觉很稳,测了大样例就跑了(中间有个小插曲就是我第一次大样例没过,看了一遍没看出问题之后觉得交到 JS-Linux 上面看看有什么警告,结果果然发现有个地方位运算没打括号),没有测极限数据。(伏笔)

    剩下的时间非常充裕,我一直在想 T3,中间想了好几个假的贪心,没有删都留着了。唯一的一点思维成果就是推柿子把方差转化成了 \(n×∑\limits_{i=1}^{n} a_i^2−(∑_\limits{i=1}^{n}a_i)^2\)

    可惜我并没有做过 CF1110E,没有能看出这个奇怪的操作相当于交换差分。

    赛后突然意识到曾经看过 chenxia25 的一篇题解中写到:

    这种奇怪的在数列上操作,看看在前缀和 / 差分数组上发生了什么事往往能发现新大陆。

    ——《P1667》

    诶……

    当然,我写的 3 种假算法或许也能得不少分

    顺便把这 3 种假算法记录一下:

    1. 每次操作当前最优操作,直至无法通过操作达到更优为止;

    2. 基于方案 1,发现可能存在某个瓶颈——即需要一步较劣的但之后能赚更多。

      就是先做一遍方案 1,枚举一个位置做一次再去跑方案 1;

    3. 在对方案1、2中操作得到的最优方案随机做 \(10^6\) 次,每次随机选择一个数进行操作。

      这主要是保证我小数据不要 WA。

    很可惜,第 3 个样例无法通过。

    T4 在还剩 1h 的时候 rush,很难写。

    我写了 24 分之后就没时间写 8 分了。

    简单检查了下之后,比赛就结束了。这时,我初二 OI 也基本结束了。

    大插曲是我们机房比赛结束网线重新插上之后,电脑连不上网,只有重启之后才能连上。这就导致在不重启的情况下,无法收题。

    经过一系列的讨论之后决定重启电脑,重新提交到 JS-Linux 上,于是几个老师就挨个重启电脑,给选手看,提交代码。

    在决定前的很长一段时间里,我们被要求背对电脑坐着。我和旁边的沈高畅讨论了下,他 T2 貌似只会 60 分,没有想到四维 DP,很可惜;T3 写的模拟退火能拿 70 分;T4 没写。我估摸着他的分应该没有我高。

    预计:100 + 100 + ?+ 24

    经过艰难的等待,到家已是近 15:00,想着自己 7:30 出发,不觉已度过了 7.5 h。

    休息了下后去网上测民间数据。

    T2 60?T2 60!

    RE?RE!

    我感觉去看我的代码,f 数组检查过了啊,没有问题啊;突然,我发现我的 v 数组开了可怕的 N。我改成 M,它就过了。

    ……

    很遗憾,我懊悔莫及,不过也没有用了。

    Day ?

    期中考试考完了,发现自己啥都不行。

    之后去各个地方测了一下,发现我 T3 的分数在 36 ~ 48 之间浮动,JS 全省排名在 60 ~ 70 之间浮动

    出成绩了:100 + 60 + 44 + 24 = 228,这很遗憾,不过也释然。

    我跟去年 NOIP 一样,倒在了 T2 上面。去年挂了 36 分,今年挂了 40 分,有进步。如果不挂分,这都将是不错的成绩。

    之后的日子将是新的启程,甚至决定着我未来的方向。

    当然,母庸质疑的是我跟 nfls 的高水平选手 qiuzx 等已有了不小的差距,这是我训练时间不足所客观存在的。

  • 相关阅读:
    【C++】获取环境变量
    浅谈ADO.NET和EntityFramework以及Nhibernate
    Entity Framework(EF)
    线程安全以及锁
    JWT认证
    ADO.NET
    jmeter请求https接口,需要设置证书
    git remote: HTTP Basic: Access denied
    2021~2022年度全国小语“十大青年名师”评选活动, 播放地址、下载地址
    20192420 任文朗 202120222 《网络与系统攻防技术》实验八实验报告
  • 原文地址:https://www.cnblogs.com/zhaohaikun/p/15708685.html
Copyright © 2020-2023  润新知