啊,看了那么多的退役记,终于也轮到我写退役记了啊...
Day -?
去长沙前的状态十分不好。
寒假在家时心态频繁崩掉,甚至退役过几天。好几次上午模拟赛看着题想不出来就睡了一上午。
这导致水平急速下降,省选考了河北省队最后一名。还是靠着CSP的老底混进了省队。
WC状态也崩坏,第一题写了个假算法,第二题没看懂题,直接爆零打铁了。
APIO考场上T2又想了个假算法,还是超级码的数据结构,码了300行,调了很久很久,最后终于造出个样例发现算法不对,也发现了正确的做法,但是当时已经到最后了,也没调出来,又打铁了。
UNR的d2t2我考场写的正解,没考虑到一些细节,挂了。考后调了一天(真一天)也没调出来,放弃了。
之前已经在构思自己失败经历的原因总结了,但是想想觉得还没有到NOI,我发了可能又会让很多人说自己在假,于是还是等NOI之后再说。
我就在这样的状态下迎来了自己的NOI....
Day -1
这天是报到日。
大家让我在签名墙写字的时候,我还在想我不配在上面留下自己的名字。不过最后还是留下了歪歪扭扭的名字。(大家:果然有个性)然后他们还加上了“金牌爷”和“神仙”。
我和两个hz的一起住,还和S1rius一块去隔壁skyh的宿舍闯了,但是除了尴尬啥也没有,也没认出来人/cy
晚上去自习室,看到dky旁边坐了一个神仙,还看到他电脑屏幕里有狗头,ohh终于认到神仙了!
在自习室也就随便看了几个题,没打板子。。可能APIO那一战让我觉得我的码力还是很有希望的?
Day 0
这天开幕式感觉超棒的,开幕式结束后我可能找回了我OIer的归属感,没有那么自闭了!下午笔试顺利满分,练习赛是NOI2019的其中三道题,包括d2t3交互。敲了vimrc之后就回自习室了。在自习室看了去年d2t3的做法,感觉二进制分组还是很难想的。。。确定树形态的交互题挺多都是剥叶子的?UNR那道也是。
去年NOI的题之前只剩下这一道了,现在口胡A了d2t3,算是都会做了吧。。。。
晚上看群里刘队说:lsr你怎么没敲板子呢?然后发了好多学长敲板子的提交记录截图,还说只有ztb没敲板子。
那我有点慌,随便敲了一个可持久化文艺平衡树,还调了好久,最后发现是标记没有放到结构体里,没复制。。
后来我在的这个自习室都没人了,打算走呢,发现很多熟人都在另一个自习室啊,那我就去假装学习实则沾沾神仙的仙气/qq。dky,gls,skyh还有很多衡中的都在,吹水很快乐hhh
晚上好像到快12点才睡,一直在看vfk写的那个“一场CF的台前幕后”,很有意思的。vfk真是最亲民的高水平选手。
Day1
进了考场感觉还行。没有啥很紧张的感觉...
看题,先把题面都看了一遍,没看出啥所以然。
第一题一看边权小,是见过的套路。。而且记得当时自己的做法和题解不一样。题解是拆边,我稍微回忆了一下想起来咋做了。就是记录前几个时刻的状态就能转移,与“线性递推”的思路类似。然后就很简单了。本来策略是吸取APIO教训,前一个小时不写代码,但是这个太简单还是直接写了。一个小时搞定。。
第二题上来想个容斥。然后想个树形dp优化容斥。然后就知道可以数据结构优化了。我这回稍微聪明一点,先写了暴力dp。果然还是有几个细节没弄清楚,补一补锅就过样例了。这个时候有点懊恼自己之前没写过整体dp,不过还是凭着印象硬上了。有点不熟练调了几下过了样例。造了随机树和链都过了。我当时以为链是最劣的,就放着没管了。
第三题看到部分分是区间逆序对/jk,然后就中规中矩打了52分部分分。
出考场超级爽啊,听我同学估分都是一百多,我都不好意思说我估分。lsr心态有点崩,尤其是问了我估分之后心态更崩了QAQ,吃饭时看到dky他说他没了,很落寞的样子QAQ
中午在宿舍心崩崩地跳,主要是这个反差太大让我反应不过来!我估252的话,金牌真的有希望的!之前只是在想能不能拿银牌,而现在能拿金牌让我有点喘不过气来!什么也干不下去,经过一中午紧张刺激的颓废(带着紧张刺激的心情的颓废),下午终于出分了。
100+68+52=220。还是挂分了/kk。T2有的点T有的点段错误,没有去深究,毕竟我第一次写。。。
我考成这样也算是有脸去找神仙不会背笔试了!去看了skyh,264QAQ,还听说hz还有个260的QAQ
这样心态就平静许多,去了自习室虚度光阴。
Day 2
看题,发现好不可做。。T2是树同构,T3是弦图。。。弦图的算法我都快忘了QAQ
还是刚T1吧,想了贪心但是发现可能有反例,又不知道数据范围是给的啥意思。
刚了挺长时间之后发现了 时归纳性的有解。然后再看诡异的数据范围就知道需要背包把物品分成两组了。
又调了挺久。。我好菜。而且才写了 分,后面没想到bitset。
T2老老实实打搜索吧。。搜了 分。
T3啥也不会。。连信仰的直接跑最短路也没敲,因为还在想去T2多拿点分。。最后都没交T3。
最后在看代码。突然找到了t1的一个错!但是当时已经59分,马上要结束了,不过发现这个东西只要把 for(...;i;...)
改成for(...;i>0;...)
就行了。然后敲了两个字符上去保存。
最后只有 。太崩了。而且出考场怎么听说有好多 的??/yun
这果然是国家队选拔啊...
查完分没挂,跟dky在一块边走边聊天,待了很久。祝他文化课顺利。
讲题的时候出了榜,还是没有进。不过d1t2如果过了就进了,这就是命运吧。不过很开心了,毕竟考前根本没有想过能拿67这样的名次。甚至神仙如云的上一届的学长最高也才九十多名。我就老老实实回去学高考就完事了。
我的胸牌终于有底气让名字朝上了。
又去清华面了试。聊得还可以,强基满分问题不大。
Day 3
集训队答辩,去晚了,看着前面的人都有论文集QAQ我哭了
闭幕式。放赛事回顾的视频时一直在抖腿,拍得真好,后来又去公众号上下载了看了无数遍。
上去领了银牌,感觉金牌好闪好羡慕。
下午和lsr出去快乐!先去了橘子洲,超级晒啊,不过看着江水挺好看的。去了商场里喝茶颜悦色,一块打王者(好怕lsr喷我菜),晚上kkk在群里叫人出来和他面基,我们就咕掉了教练去面基了hhhhh。主要还是我们几个选手在聊,kkk好像主要就当了服务员QAQ
晚上看到某神仙学弟的同步赛总结,震撼我一整年!祝学弟们都能顺利进队!(话说二中什么时候出个神仙女选手啊)
z7z过了d1t3,又震撼我一整年!z7z是全国前三水平!吹爆!
Day ?
回到家又敲了一下d1t2看一下我为啥挂了。结果发现我合并写假了...带区间修改打懒惰标记的线段树合并,应该是其中一边没有儿子就直接修改一下退出,但是我写的是两边都没有儿子,这样就复杂度不对了。
还是做题少,差一点点就进队了啊...
可以分析一下这个正确做法的复杂度。我们知道线段树合并的merge次数是通过执行一次,总节点数就减少 来保证的。所以只要能保证总结点数即可。
我们单点询问,区间修改这些操作都是只增加 log 个节点。主要问题就在于merge时的下放标记会增加节点个数,这个是不好统计的。然而现在我们只有两边都有儿子时才会继续递归,这时需要下放标记,增加的节点数为“有一个儿子的节点的个数”。而且增加的这个节点一定是没有儿子的。于是只有单点询问,区间修改等操作会增加“有一个儿子的节点的个数”,只会影响log个。于是复杂度就有保证了。
而当有一边没有儿子时,相当于它掌管的这个区间都相同,于是相当于对另一棵树做了一个区间操作,如支持对应乘的线段树合并,就是对另一棵树执行了一个区间乘。这时打标记退出即可。
又试了一下d2t1我最后改的那个错拯救了多少分。结果发现不改也能85。发现实际上它确实会访问到负下标,但是只访问到-1,然后后面有个条件判断就break了。然后还莫名其妙地能对,实在是太玄学。
后记
虽然结果还不错,但我仍然是一个缺少勇气又懒惰的人。
如果让我进队,我可能庆幸过后又会自责,怎么能让我这种没有足够努力的人得到这么好的结果呢?
希望高考能有一个好的结果吧。
我真的渴望那种得到好结果后的快乐啊!