NOI2020爆炸记

Day-2

坐高铁到长沙。
沿途应该是经过了很多山区,隧道特别多,导致耳朵有些不适。下高铁的时候还有点头晕。
到了酒店休整一会儿出去吃饭。
九个人五百块的一顿,每一盘菜都小的可怜,看分量似乎还不如吃粗菜馆。
吃完饭洗完澡后不久头就不晕了。小腐一阵后睡觉。


Day-1

早餐后玩了玩yyt电脑上的国际象棋,悔棋若干步之后终于下赢了电脑。
小腐一阵,然后打了两个板子。
午餐之后有车来接我们去长沙一中。
领取物资之后很快安顿下来。
宿舍条件特别好,什么都已经帮你准备好了。就连插座都有。
晚餐是自助餐。
晚上的时候去自习室自习。

光是看气场就能感受到周围的全是大佬。毫无疑问我是全场最菜。


Day0

上午开幕式,下午笔试。
认真,不敢松懈地坚持了30分钟,终于得到了100分的好成绩。
(好久没有拿到过满分呢)
试了试机子。
巧克力键盘,键位不标准。
用这样的机子打出了ln和exp,体验极差。
晚上复习了若干板子和做过的题。


Day1

早上比赛。
开始看题。
第一题似乎见过类似的模型,不过那题是求是否存在可行解,而这里是要求最优解。
第二题看完题意,疑惑(水题?)
第三题,没有最低档部分分以上的思路。
十几分钟的时候周围的人都在啪啪啪,我:????
这就是菜吗
然后看第二题,玩过样例之后确信是道水题。
首先写出一个 O ( n 2 ) O(n^2) O(n2)的DP,显然可以用线段树合并来优化。
再看第一题。求可行解的思路:找一个包含 1 1 1的环,设其长度为 l e n len len,设 f i , j f_{i,j} fi,j表示到 i i i 时 间 m o d    l e n = j 时间\mod len=j modlen=j,此时的最小时间。
能不能扩展呢???
搞了好久发现不会,裂开。
再看第三题,想Subtask A,不会。
大概过了1h,法定的想题时间。
开打,三题暴力,然后T2正解,以及T2的生成数据程序、对拍程序一家。
确信自己T2切了,极限数据不开O2也过了,稳了。
此时大概过了2.5h。
回去肝T1,想了好久还是没有思路。便自我安慰:大概是今年的T1比较难罢,应该也是有很多人做不出来的。况且T2简单了,T1不该难一些平衡一下吗?
于是先写出个 n = m n=m n=m的情况。谨慎起见这点东西也拍一下,然后就浪费了很多时间(似乎是出数据的程序出了个假数据?)
剩下一个小时多,肝T3的Subtask A。似乎肝出了一个分治做法,然后写了写,拍了拍。
发现它挂了。
忽然想到似乎可以分块做,但是只剩下这么点时间了,够不够时间写呢?
有些犹豫,最后在确定三题要交的程序没有问题之后,在最后0.5h的时候爆肝分块。
最后没有调出来(有种差一点点的感觉,如果前面没有犹豫过的话应该能大概再给个十分钟就能搞定)。
比赛结束。
估分:50+100+24=174

走出考场的路上,听到人们在谈论矩阵乘法。我:???
后来才知道,原来T1的做法和我那个求可行解的方法没有半毛钱的关系。就是个辣鸡矩阵乘法。
写出暴力的DP式(类似这样: f i , j f_{i,j} fi,j表示 i i i时刻,到达 j j j的最优解)之后,由于每次转移时 w ≤ 5 w\le 5 w5很小,所以只需要存 5 5 5层。接下来就是个 250 ∗ 250 250*250 250250的矩阵。
和我打过交道的人,没有一个人是不会T1的。当我告诉他们我不会T1,他们都很惊讶地看着我。
大大裂开。
T2倒是一堆人说难写。不过他们大部分都有 O ( n lg ⁡ 2 n ) O(n\lg^2 n) O(nlg2n),只会被卡一点点分。
T3听说正解很神仙。但是几乎所有人都把Subtask A打出来了(我就疑惑为什么我没有写莫队而去写了分块?)
pty说大众分252。
感觉那应该是集训队的大众分吧。。。

下午评测。
跟自己估计的大致相符,只是T3有12分的数据造水了,白送。
不过这个12分似乎写的暴力的人都拿到了。所以并不会有什么优势。
分数:50+100+36=186
随意在机房里走走,处处都听见人轻描淡写地说自己200+。
都怕自己拿不成银牌了。

【总结】

  1. 见到一个问题,如果见过类似的模型,可以考虑一下,但不能一个劲儿的往那个方向死想。不然容易思路僵化。(我人品可没有好到能总是碰见原题。)同样,就算不是原题,也要往多个方向去想。
  2. NOI2020Day1的T1依然是我认识的那个T1,是那个用力想,用力写,就可以AC的T1。只是我这次没有AC。 所以当想不出T1的时候,考虑一下自己是不是思考的姿势不对。
  3. NOI的T2和T3用力就可以拿到成吨的部分分。(但今天T2这么水我只能把它当做特例。)
  4. 相信自己的码速。当剩余时间不多,但似乎还可以再写一档部分分的时候,先检查一下自己要交的代码(文件,数组,空间,long long,输出调试),确定应该不会挂分。检查完之后没有后顾之忧,用力去搏。这种情况下要学会当机立断。
  5. 在写一个算法之前,除非能保证自己写代码的时间远远小于思考其正确性的时间,否则最好考虑一下细节,有没有可能这个算法是伪的。
  6. 当想出一档分的时候,不应该对自己拿高分更有把握,而应该对自己说,你怎么才想出来。当比别人的分高一点点的时候,应该想着人家攒一个晚上的RP就可以在第二天反超。
  7. 自己第二天是不可能翻盘的,稳定不挂就行。
  8. 我NOI的目标可是银牌啊,金牌管我P事。我自己有多菜我难道还不清楚?

你可能感兴趣的:(比赛总结)