NOI2020后记,以及其它

还是尽量精炼一点以节省你我的时间吧。
本文大概记叙了从8月5号到9月13号的各项比赛,因为一些原因这段时间的比赛数量可能占到了一整年的60%以上,但我写下这篇文字的时候他们都已经成为过去了。
整个高中生涯 WC Au,CTS Au,APIO Au,NOI Au 恰好都拿了一次。排名不尽相等,几乎每次或多或少都有些遗憾。
OI主线剧情就这么结束了,可能还会玩一下支线剧情,但初三时那种初识OI的兴奋与天真,大概是很难再回去了。
由于日期跨度过长,就按日期记了。
真.流水账

8.5 WC2020考试日

开场看了下三个题,大概花了1h嘴巴阿克了。
反正都是要阿克的感觉T3会挂,T1稳一点,我还是正序写题吧。
然后喜闻乐见地算法假了,尝试fix了一会发现自己题看错了。
中途想到了正解,写完后WA大样例了,觉得是自己假了(实际上这个时候我还是读得假题意)。
挣扎了一下发现自己连根号都不大会,这时离比赛结束已经只剩2h了。
补了个T2,发现自己有些该用 p h i ( p ) phi(p) phi(p) 的地方写的是 p − 1 p-1 p1
改完 Ctrl+F 了一下发现还有三个 p − 1 p-1 p1,以为没问题就溜了(实际上这导致我挂了15分)。
写了下T3的分段凸壳,写完发现能比暴力多得额外10分,**出题人。
下定决心回去补T1暴力,发现 n 2 log ⁡ n n^2\log n n2logn 过不去大样例2,冷静了一下终于读对了题意,但是心态比较炸裂就没有修正解而是继续堆暴力。
下午发现T1高分的人数比想象的多,不知道苟不苟得住。

8.6 WC2020闭幕式

听榜的时候一度觉得自己170=30+100+40苟个Au应该还挺稳的,结果实际得分140=20+85+35=Au线+10,梦回NOI2019。
接下来几天压力有点大,总感觉NOI会复制WC经历滚粗(事实上若干WC两位数的人NOI吊打我)。
被开导了一下“主要还是T1读错了”,而且平心而论题目确实垃圾(除了T1)。
再一看榜某些集训队员(而且应该是还在打的那种)拿了两位数分数,心态稍微好了点。
垃圾比赛坑我2600毁我青春。

8.12 UNR Day1

开场秒了T1,想了下T3两log感觉有80,一度以为标算是半在线,T2只会30。
然后推了下T3倍增求逆,因为不会合理利用结合律,以为不可做,写了个两log再大力卡了卡常。
然后搞T2,发现可以每次随机一个点集并剥掉所有一度点,写完调了会就得80了。
回去接着卡T3常,发现有概率AC。
再去看T2,发现可以改用32位哈希获得双倍询问次数,得分+=10。
最后得分290=100+90+100.

8.13 UNR Day2

开场发现不会T1心态有点崩,T2应该是个堆时间就能过的题,T3也是。
又想了会T1,想到哈希,为了保证 a b ≠ b a ab \neq ba ab=ba a d + b c ≠ a c + b d ad+bc \neq ac+bd ad+bc=ac+bd,大概可以给每个字符塞个矩阵。
但当时读错题了,以为答案只要字典序最小,然后就可以很长,(但题意其实是要求先最小化输出串长度)。
并且当时不够冷静,以为要求个无穷级数,然后就得解方程(变量还tm是矩阵)。
大概1.5h的时候决定先写T2,写到2.5h时终于过完大样例。
交完被提醒可能有重点,一拍大腿哎呀我好像会挂啊,回本地拍拍拍到11:04,大概稳了吧
交完发现对拍数据点的坐标范围只有几百(为了调试方便),改成1e9之后挂了(???)。
调了调发现有个地方炸int了,真是惊险刺激。大概11:12了。
然后大力开提答,大概用了40min用指数暴力搜了46。
之后总觉得应该能搞个牛逼通解多跑个二三十分,可惜还是一分未得。
滚回去写T1,突然想到答案串如果很短的话,可以暴力递推代替解方程。
感觉多少能有点分,rua了一个最后5min过了样例,好久没在比赛最后时刻调出程序了。
最后得分161=15+100+46,T1好像写的就是正解但读错题了只剩15算不错了。
最后好像Day1 rk6,Day2 rk25,总分还是rk6。
晚上冷静分析了一下失败原因,发现自己又双叒叕读错题了,又 双 叒 叕 读 错 题 了。并且自己如果T1不挂,不对好像还是不能捧杯,那没事了
草NOI再读错题岂不是三年白搭,瞬间十分懊恼,总不能到时候又拿“如果没读错题”这种鬼话来骗自己吧。

8.14 最后一场校内模拟赛

遥想NOI2019前的最后一场校内模拟赛,众人皆挂我独阿克,去年北大集训前最后一场模拟赛好像也是这样。然后NOI2019和北大集训就喜闻乐见地垫底了。
心中暗想“今天我不能阿克”,打开题一看发现有点困难。
花了2h左右随手写了下三个题交上去100+10+60。
T3数据好像不符合题面范围,改完就A了。
T2一点边界判挂了,然后它还要比较两个子串大小,由于写完正串SAM懒得再写一遍SA+ST表,就yy了一下怎么用正串SAM比大小,搞了3个小时一怒之下拿暴力冲过去了。
很好我没阿克。

总得来说这几天比赛都是打得有点崩的,心中暗含着些许惶恐与不安。但NOI,终究还是来临了。

8.15 APIO2020

认真吸取前几场的教训读题都非常仔细。
但T1题目似乎实在有些冗长,目测T2很simple,胡了个充要条件20min切了。
想了想T1发现有了 ∑ f i 2 ≤ 4 ∗ 1 0 5 \sum f_i^2 \le 4*10^5 fi24105 的约束后似乎并不难,就先看了会T3再接着做T1,大概在开场1.5h的时候切完前两题。
T3感觉是个二合一,提出重心后再xjb构造一下,想了想不太会正确性严格正确的做法。正确性严格正确的做法倒也有,每次剥直径就行了,好像能拿47。
但既然是APIO就要有阿克的梦想,更何况现在时间还极度充裕。
然后就是对着假算法艰苦卓绝地fix的过程了,具体记忆有些模糊了,只记得1点左右饿毙了吃了点东西,然后抢在结束前20min成功阿克。
狂喜之余打开EI群,发现群友们早就阿克了。
NOI前的最后一场需要写代码比赛终究还是阿克了。

8.16 NOI Day-1

报道时买了个纪念品空调贴,上面印着“今天我又阿克了”,买回来贴在寝室门板上,希望能获得好运。

8.17 NOI Day0

NOI前的最后一场不需要写代码比赛也阿克了(似乎不是什么值得吹嘘的功绩)。
因为一些个人原因半夜总是要冻醒,没什么好的解决办法,强行靠白天补觉续了一波。

8.18 NOI Day1

开场胡了下 T1 多项式套矩阵理论复杂度5e8的算法,感觉有点虚。
打开T2本来以为是个牛逼数数,稍微想了想发现好像是做烂了的线段树合并。
打开T3,下意识数了数部分分,发现B要拿满的话理论上要二次离线莫队。
堆部分分太难了我们直接刚正解吧。
这个时候突然意识到题面里的小L应该是lxl,智者应该是ccz。
一开始想了一堆分治或者直接扫描线,一直没啥好的处理办法。
后来想到二次离线莫队的本质是序列分块后将零散对整块的贡献拆出来离线处理。
又想到之前做另一个ynoi题时想到的将二维平面切成 n × n \sqrt n \times \sqrt n n ×n 块的方法(虽然跟那题标算无关)。
那我不是将一维的“离线处理零散对整块的贡献”直接推广到二维就行了。稍微糊了下细节就8:57了。
开始写前两题。但还是不会T1理论复杂度更优秀的做法了,抱着T了也有部分分的想法(虽然数了数好像只有65挺坑的)随手写了一发,过样例是9:35左右了。测了下极限数据发现非常快,又花了很长时间搭了个对拍。拍上只会发现没判-1。
开始动T2已经是10:00了,但T2好像出乎意料地好写,我20min就过完样例测完极限数据了。
还剩160min我肯定能写出这个T3。然后花了1h写完了,大概4K左右。然后写了个24分暴力拍。
调到12:13左右终于过拍了,回去又拍了下T2。
又试图卡了下T3常数,以失败告终。
然后就成功阿克了?达成成就:NOI单日AK。
晚上被lxl迫害了一波,当时在群里说“区间逆序对只用会 O ( n 2 ) O(n^2) O(n2) ”其实只是对之前OI现状的一种调侃,可能还有一点对于NOI2019失败经历的气话。
至于最后是否有人信了,猫锟说过OI比赛能出啥题只取决于能找到什么出题人(虽然lxl参与出题确实在预料之外)。
半夜冻醒了挣扎了一个小时,白天过于兴奋一直补觉失败,感觉缺少的睡眠为第二天滚粗埋下了伏笔。

8.19 NOI Day2

开场头晕乎乎的,打开三题发现都不会,传统CTS难度既视感。
要表演Day2爆零了
但阿克进程被中断大概是毋庸置疑了。
大概8:25左右会了T1 m ≥ n − 1 m \ge n-1 mn1,再想想就会了。
又想了下T2,不会。想了下T3,我会性质B,性质A不敢猜结论,弦图好难啊。
回去补了个T1以及对拍,大概10点了。
想T2想到11点,想到了树枝这个结构但没想过“直接自顶向下递归处理”,于是轻易地开始写暴力了。
最后想拿树枝的结构去写52分暴力,没rua出来。
出来问了10个人只有4个(包括我)没过T2。
然后差不多就是伤感的时间了。
T2过了22个,我拿了20分。
同校的yzr也考得不是很好。
pjy和txc倒是切了T2,但是之前比赛不太理想,最后我校三个人rk8,9,10三连号。
算了一下yzr要是过了T2就以微弱优势打爆wzp了进国家队了,我要是过了T2也就苟住Day1优势捧杯了。可惜过不得。一个D2T2弄得我校丢杯丢队。
聊以自慰的是NOI前所有持有(过)恰好一个LGM号的人都没过D2T2,这就是反向区分吗?\se
突然回想起Day1午饭后pjy问想不想冲阿克啊?我说我的比赛策略一直是最大化得分,没有冲这种说法。现在想来有些后悔。反正最后T2也只有20分,丢了也不影响进集训队,当时要是冲一把会如何呢?感觉当时都发现树枝的结构的话再想想应该很有希望。
可惜没有如果。

三年的非集训队OI时光就这么结束了。
去年9月的时候幻想了一下如果能穿越回17年6月故事开始的时候,yy了一把感觉挺爽的。如果真能这样一切应该都会做得更好,也不用像真实本位面下除了OI一无是处,甚至连OI本身也只是堪堪花了三年苟了个集训队。

唉那个时候还是MO与OI双修的,但是由于竞争对手过于可怕(lyx,yhx),我这个人又相对脆弱,精力不足以同时应付两门竞赛,(当然还有一些别的原因),最后还是出于兴趣以及对于行业前景的粗浅认知选择了OI。
出于对过去时光的怀念与致敬,可能还有些许不服气,尽管NOI打完后只剩20天,我还是毅然选择了参加MO联赛。
(说来我获取参赛资格的过程比较复杂,本来省赛跟ZJOI冲掉了,但似乎学校自己是有名额的)
然后就是NOI前刷题生活的延续了。我起点是比较低的,可能只有学考水平吧,也可能不止,因为在OI的故事开始之前我还是有过把MO作为主业的决心的,虽然那已经很遥远很模糊,甚至都有些不好意思提起因为自己太菜了。
出去参加一个5天刷题班,最后一天rp爆发考了全场rk2。
然而20天确实是太短了,一开始制定策略的时候就是弃平几因为实在学不动(太OI无关了),代数稍微学点因为一试也有点用,然后数论组合随缘。
中途一度有些怀疑人生,我都OI保送了为什么还要在这里受罪,就为了渺茫的一等奖,还是所谓的怀念过去?不过慢慢地也便适应了,虽然跟OI相比无趣一些不过也还好。

9.13 2020年高中数学联赛

这个阶段的最后一战了。
一试比赛前做的很多毒瘤卷简单很多,大概还剩20min的时候开最后一个大题。开到还剩10min不到感觉力有不逮,回去补填空题。第5题死活记不起中线长公式,倍长中线现推了一波最后也没算完。出来对了下答案发现第2个大题还fst了。
二试上来开T4组合,花了20min猜了下答案。又花了大概40min做了下T2,对着猜的假答案搞了很久才意识到自己很可能假了。
去看T3数论,搞了会就会做了,但是整道题做完用了前后约50min。
最后1h不到rua T4,灵机一动发现好像随便抠个二度点出来讨论一下什么的,就能归纳证明了。过程写得很乱,搞到最后也还差两个关于斐波那契数列的不等式。
出来被告知可以证明只有偶弦(那我可以少证一个不等式)。
估了一下二等应该稳,一等要是rp爆发有可能有(虽然几率可能不比NOI D2T2随机输出AC高)。

讲道理按照我的习惯,一般考试都是等出结果了再看结果丢不丢脸决定是否写游记的,像NOI2019游记就一笔带过了。不过后来意识到,并不是不写游记就不滚粗了。所以还是把数学联赛游记给写上来了。

妄想20天冲击一等的热血少年,终究还是失败了。
怎么说呢,当初要是愿意多花些时间学MO而不是在整天OI里自闭,应该还是比较有希望的,正如先前所说“一切应该都会做得更好”。
似乎这三年来最低效的就是OI了,其它的考试项目都是极短时间获得至少极短时间该有的成绩,只有OI,。。。,感觉一言难尽。可能我的OI生涯承载了太多本来不该由OI单独承担的失败了。

以后可能会写回忆录吧,但现在写完5k有点累了。而且我自己珍藏的回忆里还有些对我个人而言类似于政治敏感性质的东西,也不知道应不应该写,不写又感觉少了些什么。

大概结束了,但2020年似乎命中注定是新纪元的起始,一切都才刚刚开始。

2020.09.30upd:
调了一下NOID2T2,发现ub了。
实际上 a=b 的运算顺序的ub,但之前一直不知道(或者之前的“知道”是不彻底的)。
然后

	auto getn=[&](int x){
		if(!x){
			++T.n,T.l.push_back(0),T.r.push_back(0);
			return T.n;
		}else return x;
	};
	int ch=0;
	if(rhs.l[y-1]){
		++ch;
		T.l[x-1]=getn(T.l[x-1]);//这里会先算T.l[x-1],算完vector重构一下就RE了。
		ins(T.l[x-1],rhs.l[y-1],rhs);
	}

于是44->20,rk6->rk12。我竟无言以对。。。

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值