D类选手,因为一些原因打铁了。

只写一些和比赛关系比较大的事情,乱七八糟的就不写了。

赛前

对自己的定位是有点水平的D类选手,挂一些分也能到ag线(后来证明定位还算准?)。

模拟赛经常当一题战士,不过不怎么挂分来着,感觉优势很大。

before day1

打牌、tetr、没干啥有意义的事情。

day1 —— 最黑暗的一天

上午

感觉状态还不错。

然后看到题,发现 T3 是个交互、而且题面巨长、T2 是个计数、T1 看起来就是传统的送分 ds。

还是看看 T1,过了一会编了个线段树合并做法,发现可能拿不到 100,但是稍微特判一些性质 80 是很稳的,直接开始写了。

写起来有点自闭,先写了个不带删除的版本,测了测发现似乎真的过不去 100,打算优化一下,但是离谱的事情发生了:我用一份暴力代码把我的线段树合并覆盖掉了,只能重新写代码。。。然后飞快又写了一份,离大谱的是我又犯了同样的错误覆盖了代码。只能又写了一份。。

然后试图把删除加上去,重打代码的时候想到了一个非常好写的启发式合并 deque 的做法,感觉非常牛逼,就给写上去了。

我用了 vector 和 deque,我知道这俩玩意占用空间巨大(尤其是 deque),于是我留了近 400MB 给他们用。

因为浪费了太多时间,没时间优化也没时间对拍了,我决定扔掉 T1 去看后面的题。

然后发现 T2 如果会判合法就能获得 40 分,但是我想了很久很久还是不会,很尴尬啊。。。

然后去看了 T3,认真读完题之后发现这个题真的不怎么可做,链看上去是一个比较容易拿到的 10 分,我编了一个线段树做法,然后发现限制很严格,线段树寄了。

然后回去想 T2,想了想还是不会啊,搜索也不怎么想写了。。。

最后 10 分钟忽然想到 T3 的链可以直接分块做,但是没有 rush 出来,只能遗憾离场,分数大概是 $[80,100]+0+0$,应该也没有非常差。

交流了一圈,发现大家都不会后两题,T2 只有范神拿到了 40,那好像还可以。

下午 —— 心肺骤停

快乐查分,然后发现我 T1 爆零了,全部 wrong answer,很离谱啊!!!

测了一下数据,是对的,打算申诉来着,然后发现这似乎是个共性问题。

然后发现是 MLE 了,被显示成 wrong answer,然后发现是 std::deque 即使是空的也会申请大概 0.6k 内存,然后我就寄了,这下真爆零了。。。。。

心肺骤停啊,沉默不语,非常自闭,本来至少 80 的。。。这下不是真要打铁了?????

只能等 day2 了,没办法,好好考吧。

the day after day1, before day2

摸鱼,调整心情。

day2 —— 以为翻了,但还是寄了

上午

直接看 T1,树哈希?这我会啊,模拟赛前几天刚考。

然后编了个做法,没细想,过了样例,感觉复杂度挺对的就快速跑路了,今天打算激进一点,让期望得分尽可能高。

看了眼 T3,感觉非常不可做。

看 T2,想了想,对着性质 A 编了一会做法。一开始想的是把每个点的限制放到最左面,然后枚举分界点前面填 0、后面填 1,发现过不去样例。思考了一下把两个结论都换掉了,变成从后往前贪心填让逆序对增加最小的数,然后过了样例,我也没仔细想,拼了个搜索上去,接着优化了一下复杂度,现在 T2 能得到 48 分。

去看 T3,想了一下没啥思路,限制很奇怪,写了个搜索,能得到 17~23 分。想了一下 $k=3$ 的部分,感觉只填 2 就可以,但感觉不是非常对,而且只有 6 分,就没写,跑路了。

回去想 T2,B 性质是没有限制,想了一下是不是也可以从后到前贪心填,但想了一下感觉有点像对的,又有点不对,也没什么时间验证了。

然后就一直自闭到结束,期望 $100+48+17=165$,ag 应该是寄了,但 cu 还是很有希望的。

下午 —— 心肺骤停*2

发现 T1 挂成 76,T3 爆零。

T1 挂我不是非常意外,毕竟猜的结论我没证明,应该枚举全排列匹配的。

T3 就不是很懂了,看了一下,错的点都输出了 0,看来是搜挂了。。。

这下变成 124 了,不知道是 fe 还是 cu。。。

交流了一下,发现我 T2 猜的结论是对的。。。就是把限制放在最左面然后从后向前贪心填。。。那我不是自大闭。。

day?

打铁了,乐。

总结

遇到结论不会证明可以敲代码验证,但我总是缺少这么做的时间,得提高思考速度和手速。

然后不懂的东西还是少用,学什么东西深入一点,还来得及

大赛对我似乎确实是有降智的debuff,但还是看开点,感觉这场 noi 已经发挥不错了,虽然挂的分比得的分多,但总的来说还可以,被 deque 阴了一手没办法。

下个赛季再战吧,别进不去省队然后耻辱退役