NOI2021 同步赛游记_noi2021游记-程序员宅基地

技术标签: 其它  

写在前面的话

为什么叫游记呢?因为我第一天是在划水中度过的,错过了对原题的发现。

O n e I n D a r k \tt OneInDark OneInDark 无比风光地去了浙江,却倒霉地遇上了台风。俗话说,云从龙,风从虎,可是 O n e I n D a r k \tt OneInDark OneInDark 是神啊,所以猛烈得多,是台风。这个 O I D \tt OID OID 天天传别人是套中人,这下不也全身裹着雨衣,套着雨靴,成了套中人了吗?是故人不可道邪说,否则罪有应得。(不必在意逻辑性)

但是,天之骄子 O I D \tt OID OID 又怎么会清楚,要是我有这个机会,不论多大的风雨,我都会幸福地去浙江。

Day 1

€ € £ €€£ £ 出了点小插曲,问题不大。

刚开始拿到试题的时候,不禁在心中长嗟一声。这就是全国青少年信息学奥林匹克竞赛的第一天试题,无数个日夜都想坐在两边放着隔板的机房,坐在显示着巨大倒计时的考场屏幕下打开的试题啊。现在近在眼前,又远在天边。

CSP2020,遗憾不少,NOIP2020,命悬一线,省选两天,大起大落,擦肩而过,2021北大夏令营,空手而归。无数的机会都让我错失了,现在在看的试题,是成功者对我一个失败者的施舍。

抱着这样的心情,我已无心比赛,只图练手罢了。

拿到 T1,仿佛还沉湎于悲伤中的我,不知不觉已经开始打起了 LCT ,奈何我对动态树本就陌生,苦苦回忆了一个半小时,把动态树打出来了。但是限于题目要求,只能打出了一个答案正确,时间却是 n2 的做法,铩羽而归,看向第二题。

第二题,不简单,暴力不好打。没错,我根本没希望去想正解。发现不好做,就只打了前面 20 分的暴力。

第三题,一道较清新的图论题。折腾了许久,发现缩点后可以变成一棵树,然后就拿到了 k=0 的 32 分部分分。我还想着推一推 k=1 的情况,于是忙到了考试将尽。

情况是令我十分吃惊的,第一题是一道思路非常简单的树剖题,第二题只要推一推容斥式子,就不难发现是 LGV 引理的一种应用,第三题就不应该用渐进的思路,要是直接大模拟,计算起点可达集合和终点可退集合再求交集,就解决了。以 l i n u x \tt linux linux 的性能,不会有卡常问题。

又想起了最初的目的。练手?多么可笑的借口。不会就不会,不要找心态上的原因。虽然这样的论断是极不合理的,但是不失为一种冷静下来的方法。

冷静下来后,我发现自己太不认真了,好歹是 NOI 的题,都不能认真对待,“竞赛是肯定出不了成绩的”。

晚饭时间,我气愤地把新打好的 T3 代码交了上去,

“恭喜你通过此题”

……

看着题目列表里的三个新勾,像初春的草芽一般舒展身体,我心中感到无比的空虚。现在,过是过了,但是比赛场上是不能后悔的。

Day 2

其实已经是 Day 3 了。

€ € £ €€£ £ 又没兑现承诺,说好的提前 5-10 = -5 分钟开放网站,结果提前 -20 分钟了还没开。

这次我认真了起来。

看到 T1 ,发现的确不会,最好的做法都是 n2 的暴力了,那么打暴力吧,顺便特殊处理 k=0 和 k=1 的情况,用哈希判等。

拿到 T2,顿时大喜。f(a) 不就是连分数 [a0,a1,…,ak] 吗?于是用连分数的递推式推算转移矩阵,分子分母分开来,W 代表着一种矩阵,E 则代表着两种情况的两种矩阵,在连续的 WE 中是一种矩阵 A,其它又是另一种矩阵 B,我把 A = X*B 的 X 矩阵手算了出来,然后在平衡树上维护区间左右端颜色和四种翻转旋转情况下的区间转移矩阵。最大样例跑了 10 秒,开了 O2 跑 5 秒。没办法,常数太大。

此时时间已经所剩无几了,看完 T3 ,我只打了个输出 3 的代码。

结束后,还是不尽人意,第一题还好,骗了 32 分,第三题,输出 3 竟然有 8 分。

第二题,常数太大了,只拿了 60 分。关键是,在我把 3*3 的矩阵乘法代码展开后,再加上一些卡常数优化,竟然得了 95 分。不甘啊!简直比第一天还郁闷!

尤其是,当我再加上输出优化后,把这题过掉了……

After

虽然现在还是当天晚上,但是对于我来说,Day 2 已经过去了。

接下来摆在我面前的,是一大堆琐碎的事:研究性学习报告、物理作业、英语默写、刚开始啃的《百年孤独》、还有没喝完的一大瓶矿泉水……其实,NOI 同步赛貌似也是一件琐碎的事情。高一的竞赛生命已经结束了,我现在是在迎着高二的机会活着,这 NOI2021, 只是一个残影罢了。

就像看到已故的、某个陌生人的坟墓,就像漫步黄昏街道,蹲身拾起了早晨的落花。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43960414/article/details/119189194

智能推荐

oracle 12c 集群安装后的检查_12c查看crs状态-程序员宅基地

文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态

解决jupyter notebook无法找到虚拟环境的问题_jupyter没有pytorch环境-程序员宅基地

文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境

国内安装scoop的保姆教程_scoop-cn-程序员宅基地

文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn

Element ui colorpicker在Vue中的使用_vue el-color-picker-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker

迅为iTOP-4412精英版之烧写内核移植后的镜像_exynos 4412 刷机-程序员宅基地

文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机

Linux系统配置jdk_linux配置jdk-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk

随便推点

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。

Touchdesigner自学笔记之三_touchdesigner怎么让一个模型跟着鼠标移动-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动

【附源码】基于java的校园停车场管理系统的设计与实现61m0e9计算机毕设SSM_基于java技术的停车场管理系统实现与设计-程序员宅基地

文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计

Android系统播放器MediaPlayer源码分析_android多媒体播放源码分析 时序图-程序员宅基地

文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;amp;gt;Jni-&amp;amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图

java 数据结构与算法 ——快速排序法-程序员宅基地

文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法