THUSC2021游记

Day0

早上看了一道CF的题的题解,但是没有写因为担心短时间内调不出来,下次写思路就断了。

去珠海搭飞机到杭州,然而飞机咕咕咕了一个多小时。只是在机场买到一个汉堡,飞机餐主食只有个小小的面包,根本不够吃。到了酒店之后出去吃围餐。十多个菜不到三百,量还够,不知道它是怎么赚钱的……

晚上没有心思复习,只是默写了个编译、运行的命令。


Day1

因为是报到,7:30起,不紧不慢地吃早餐然后打车过去。报道之后发现自己在紫金港校区,诶那么早起也没得试机了对吧?心头松动了一下。

然后在报告厅等,睡觉+腐败+听歌,开幕式具体讲了什么也没有听(客观来讲之前清华本来就来纪中开过讲座,主观上其实是我睡着了)。

因为睡眠质量不是很好所以有点难受了。中午坐摆渡车去紫金港校区。没想到竟然这么远,而且一路颠簸得我头都发昏了。

午餐甚至有鱿鱼,以及满满一小碟的花甲,不错。

然后就是试机。这次的系统和上次THUWC用的好像不是同一个,之前那个和noilinux差不多,这次区别有点大。比如:在文件管理的窗口中右键,没有新建空白文件的选项;打开了的窗口在左边,同一个软件打开的窗口数用点的个数表示,而且要先点一下才展开(windows是稍微停留一下);gedit(顺便提一下我是用命令行开的gedit)中ctrl+N它不只是新增标签页还新增窗口;等等。

不过更重要的是大概因为没有休息好,我看屏幕居然感到很吃力,并且头晕也有点严重。这种状态一直持续了整场比赛。

接下来是比赛:

T1:给出一个数组\(a_i\),在整个数组清空之前,会进行操作:每次选择尽量多的数,使其和不超过\(M\),如果有多种方案,选择字典序最大的(指的是将编号从小到大排序之后)。然后把选择的数删掉。问操作多少次。

T2:给出一棵带点权的树,求树上最长上升子序列。

T3:有\(n\)个人\(m\)道菜,给出每个人分别对这些菜的态度(不喜欢,或喜欢的程度)。现在要选择其中若干道菜,贡献为:对于每个没有对这些菜不喜欢的人来说,这些菜的喜欢程度之和,的和。

T4:通信。给出一棵有根树,儿子有序。Alice知道这棵树,现在要传个编码给Bob,然后Bob要将这棵树还原(同构即可)。

扫一眼,除了T3暂时没有想出来之外,其它都会。不太敢相信自己。

因为T3想歪了所以还是没有想出来。于是开始干T1了。

写了个含有若干个操作的线段树之后运行,发现WA了。调试之后,发现是题意理解出现了问题:字典序是按照编号来排,而不是按照权值来排。想要修正,不久后想出了\(O(n\lg^3 n)\)的方法,但是感觉不能过,纠结一发之后写了个\(O(n^2\lg n)\)的部分分。因为当时脑子比较混沌所以有很多低级错误,调试了好久。

然后干T2,一开始想写点分治,但后来还是决定了写dsu on tree。明明很好写但也出现了很多错误,也调了好久,甚至还写了对拍。后来交了若干发,经历了WA,RE,TLE最终才到AC。

时间不多了,继续干T4。T4非常简单,完成的时间也确实比前面的两个程序短,但是还是犯了些低级错误导致也调试了好一会儿。而且因为是通信所以不太好调。不过最终还是AC了。

后面没有什么时间了,T3草草地写了个暴力。最后进行了一些检查,比赛结束。

估分50+100+20+100=270。

出考场之后dyp冲过来说他差点AK了%%%

问T3怎么做,也很快明白了正解。大概说说:用FWT,把每道菜的状态(即被哪些人没有不喜欢)挂上去。挂的东西是个长度为\(n\)的数组。进行了一波高维后缀和之后,一个状态的贡献,是对应位置上的数组中,状态中1的位置的贡献之和。于是时间\(O(2^nn^2)\)

另外,T1树套树是能过的……当然了如果是当时那种状态的我的话可能也不一定有时间写得出来吧。

稍微想想其实这次比赛我也没有怎么挂分,确实想到并且想写的分也拿了。但是分数还是不理想,其实根本原因就是本身比赛状态较差(早上开幕式以及颠簸的到紫金港旅途,根本不能睡个舒服的中午觉),整个下午晕乎乎地打题根本不能发挥出全部的实力。并且确实T3不难,当时也稍微考虑了下FWT的可能性但是没有时间继续思考下去,所以如果是正常状态下我可能是能够想到的,大概也能像dyp一样差点AK吧。

因为头晕持续到了晚上睡觉,这期间只能小腐。


Day2

明明是8:30开始比赛的,然而要7:30到西溪校区搭车去紫金港校区,况且因为还要退房所以被迫更早起。我的天我究竟是做了什么才被发配到紫金港校区的啊。

一早上起来本以为头晕消失了,然而因赶路小跑了一下头晕它又被激活了。比赛之前,调了一点基本的配置之后,我根本就没有心思敲板子(不过毕竟是工程题所以也没有必要)。然后在座位上休息,对眼睛、额头附近部位进行按摩,以及拉伸肩膀并对之进行按摩等。大概半个小时的时间就这要耗掉了,然后9:00开始比赛(紫金港校区日常延迟)。有一说一大概比赛半个小时之后头晕暂时减缓,似乎转移到了肩膀一样。

花了大概半个小时读完了guide文档。这次是写图像渲染的光线追踪呢……

这次工程题是真的工程,一堆堆的头文件和源代码,比上次高速缓存阴间多了。因为对工程代码不熟悉,于是好多参数、类型我都不知道怎么来的,它的定义是什么,我要干什么,之类的。而且我只会用gedit,这相当于用个能高亮+括号匹配的记事本来看工程代码,再加上那个阴间系统,总之就是究极不方便。

搞半天,终于会给可执行文件开权限了(chmod +x 文件名);知道了我半天编译不了是因为我破坏了它文件的结构(对于T1,我把看起来有关联的文件丢到同个文件夹里,然后编译不通过说是需要一个文件然而我找不到题目中那里有提到这个文件);终于过编译了;终于找到编译出来的可执行文件是哪个了……

正当我对这些操作稍微熟悉了点之后,时间已经过了一大半了。我切了T1和T2,后面的题目描述令我感到眼花缭乱我不知道该先写哪个,看了半天后发现似乎是以T3和T4为前提(并且说“请先完成……”的时候提的并不直接是其题目名),最终打算rush个T3和T4。写了,测一下,哇啊啊它渲染速度这么慢,至少超过5分钟,这让我怎么输出调试?最终理所当然这两题都没分。

得分60分。

吃午餐之后乘摆渡车回去,人家西溪校区的已经讲题讲到Day1T4了……

听歌,摸鱼,发呆。话说今天工程题好多人上去吐槽诶,可惜了我还没有玩上头就没了。比赛时确实有走弯路,比如T2我解了三元一次方程组然而不知道实际上它已经在库中有了。啊啊啊什么?可以调低分辨率加快渲染速度,你咋不在题面中说明怎么调低分辨率啊

闭幕式,打印机都坏了换了几部,然而我就是没有拿到纸。XC说就当出来锻炼一下吧。

因为航班取消所以被迫多住一晚。本来犹豫着是打ARC还是看今早更新的vivy,后来还是选择了后者。然后意识到选择是正确的:别看一集只有20多分钟,看完之后我要思考+刷贴吧讨论+回看找伏笔细节等,加起来就一个多小时了。打完ARC之后再看vivy根本不够时间。


Day3

回去。在第一程列车上待了7.5个小时多。路上一开始看看ARC,D不会做,E感觉直接数据结构即可。然后看番+听歌+睡觉+看贴吧讨论。

到学校的时候已经是晚餐时间了。又没有吃午餐。


总结

最大的收获就是体会到了身体状态对比赛发挥的影响是多么大。

午觉是一定要睡的,而且要有高质量的午觉,什么在报告厅里或在车上睡几乎就没有质量。出去比赛,如果旅途上时间和比赛时间安排的很紧,要考虑到旅途本身导致的精神疲惫?

不过既然NOI是住在宿舍的,大概也许没有这种问题吧……

另外这次THUSCDay1的题目好lj啊,听说北大的比较好玩。如果仅仅是作为锻炼的机会,去PKUSC比去THUSC岂不是血赚多了……

posted @ 2021-05-17 21:49  jz_597  阅读(271)  评论(0编辑  收藏  举报