扩大
缩小

NOIWC2021 游记

这可能是我初中的最后一场 OI 比赛了。  —— NOIP2020 游记

啪!啪!啪!

作为一名刚经历市内一检的颓废 OIer,我本已制定好寒假的老年摸鱼生活。

第二天起来,“诶,三天之后是 NOIWC 啊……”

因为疫情的缘故,这次冬令营课程放在线上举办,我也因此获得了参营的机会。

不过一想到我是和哪些人参加比赛后,口中只蹦出了二字:害怕。

最后,我带着必垫底的心态,开始了冬令营生活。

2.5 比赛日

听课日的记录以后找时间补吧。

7:25 坐车出发了。

比赛地点在 FZYZ,位于 FZ 郊区,所以路上不是很堵,大概 7:50 就到了。

然后和学长一起聊天,玩 游 戏。

打开电脑,???我的电脑为什么没有 C++?

老师:这个位置一直没人坐,所以啥都没有,反正 FJ 不算成绩,就开网络自己下一个吧。

我:……

8:20 进了网站,之后便开始了比赛。

打开 pdf,三题时间限制都是 1s,空间都是 512MB

三题都看了一遍,决定先写 T3 的暴力。

T3 说是找到第一个模 m0 的斐波那契项,有 n 组数据。

算了算,找个循环节要 m2,多测合计 O(nm2),对于 n,m103 岂不是直接爆炸?

不过写了个程序拍了拍发现循环节根本跑不满,一组数据平均不到 0.1s 就算出答案了。

然后想过 m 为质数的部分分,感觉不太好写,就先放弃了,跑路看前两题。

看到 T1,诶为什么 32 分的数据范围那么小啊,看着那么像指数级别的暴力?

看到题面,我的策略是最多走一次环,走完一条边不立即走它的反向边。

然后花半小时多写完了 T1 的暴力,结果第二个样例没法过。

手绘了样例,结果发现算出来的结果和我程序的错误答案一样……

许久后,我才惊醒:哦,环可以不止走一次。

就好比我走完一次环,我相比走之前净获得一个右括号。

那么走两次,就可以相比走之前净获得两个右括号。

如果我在到达环之前缺了两个右括号,那就可以通过走两次环来弥补!

但是有一个严重的问题,如果我允许跑环过多次,即使是 m10 也会 TLE。

我知道为什么数据范围那么小了……

经过多次试验,我在程序上设置了不得在环上跑超过 3 次。

这样可能会挂分,但也没办法。

看了看右下角,快两个小时过去了,赶快看 T2。

表达式求值 + 数据结构?

第一档分,没有问号和括号,出题人实属良心。

第二档分,有括号,那不就和 CSP2020-J 的 T3 暴力差不多吗,一起打了,合计有 35 分了。

此时三个多小时过去了,我暴力也差不多打完了,然后我就剩下时间都拿来摸鱼?

想了想好像不太合适,就看看哪些分可以打。

看到 T1,啊,k=1 不会做,溜了溜了。

看到 T2,啊,n,|E|5000 好像开栈会爆空间,溜了溜了。

看到 T3,……我好像没得溜了。

然后我就选定了 T2 的 n=2 且没有括号的分来做。

当时做题的心态就是:写几行代码就脑子短路一下,最后搞出来的代码坑坑洼洼,原本 2K 的 T2 代码变成了 5K。

调代码的时候心态是真的崩了,不过最后终于调出来了。

用近两个小时的时间加了 10 分,没有白费。

大概 10 分钟后比赛也就结束了。

预估:32+45+20=97

2.6 出成绩日

32+45+20=97 竟然一分没挂。

不过看了看总体水平,这次全体平均分接近 90,金银铜线分别为 158,118,70

FZYZ 有 7 人拿奖,其中有一个全省最高。

posted @   HoshizoraZ  阅读(361)  评论(3编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示