得之我幸 失之我命
Day-1
中午要出发,上午还要考试就离谱,不过大家考前都说爆零攒 rp 但是一考试一个比一个猛,坐 (Lcolor{red}{ongdie}) 旁边,开场发现 T2 之前见过类似的思路,不过为了攒 rp 没有马上写,看 T1 发现70分挺 sb 的,不过剩下的东西有亿点恶心,读入都是高精,就先写了 70,写完发现 (Lcolor{red}{ongdie}) 已经开始码 T1 了,而且看上去时间复杂度挺对的,不过最后爆零了,最后在一系列打表找规律等操作下,发现读入可以直接取模,然后暴力做就行了,剩下两题过水直接AK了,rp--。
下午到了sjzez,试机打算敲一个 ntt 和 fft 对拍,不过由于还要测一些东西导致最后的时间不多了,ntt 打完但是 fft 没写完,rp-- ,被拉去开防疫会了,实际上感觉就是给教练说没人搭理他们然后给我们开会好让我们回去吓唬教练,不过全程没怎么听他的。
开完会貌似还能试机,火速回去打完了 fft ,然后一下就拍上了,rp++,不过感觉对拍速度十分慢,虚拟机还是不大行啊,最后把对拍的输出改成了 HZOI always win,半年没学whk了不知道英语语法对不对。
回去的路上经过超市买了许多东西,(Lcolor{red}{ongdie}) 没带钱所以顺便帮他付了,rp++。
晚上的盒饭十分不大行,我寻思着一天一百的盒饭就这啊?第二天考试,所以晚上也没干啥就睡觉了。
Day1
虽然之前模拟过很多场了但是还是挺慌的,到了 sjzez 之后在大门面前待了一会儿就进去了,感觉时间过的挺快,现在也是,貌似刚刚还在省选,殊不知已经过去了两天。
进入考场之后管的比较严,不让动键盘鼠标,左边是 sjzez 的 zzz ,再左边是 (Lcolor{red}{in4xu}) ,有点慌,不过马上感觉也没啥,反正也看不见他们的屏幕,也不知道他们在干啥。
开场先看三道题,题面貌似都比较短,很阳间,读一遍题之后感觉 T1 是一个 sb 的二分答案,不过具体实现还要想一想,T2 是一个比较神仙的构造题,T3 是一个图论,看上去更神仙。
于是决定先写 T1 ,顺序开题,想了想发现如果二分极差的话可以将所有数锁定在一个区间内,而区间的左端点只有 (n) 种,这样只需要判断一个前缀和一个后缀翻转后是否合法即可,于是直接开始写,大概写了十分钟,此时只过去了半个小时,感觉状态挺不错,然后发现连最小的样例都过不去 。
慌了一下,不过马上调整然后调代码,发现实际上左端点有 (2n) 个,改完之后直接过了三个样例,大概看了一眼大样例不是很水的样子,所以没管,去看 T2 了,由于 noip 的劣势导致我省选貌似不得不 AC 一道不是很签到的题才能扳回来,于是并没有选择对拍。
T2 想了一个小时,这啥啊,这怎么做啊,这完全不会啊,冷静一下发现 (n,mleq3) 都不会做,那这不是玩完了。
又想了半个小时发现 (m=2) 的情况实际上变量很少,暴力枚举第一个是啥或许可以,不过仔细分析一下时间复杂度还是太高了,尤其是多组数据。
又仔细分析一波发现可以对于每个变量解一个不等式得到第一个变量的取值范围,然后随便取一个在范围内的貌似就可以,三十分到手,直接开始写。
很快写完了,自己造了几组感觉没啥问题,又又仔细分析了一波发现这个完全可以套到 (m) 不是 (2) 的情况,对行做一遍对列做一遍就能得到边界上每两个相邻元素的取值范围,不过剩下的就不大会了,而且感觉细节特别多,此时已经过去两个半小时,于是决定先去看 T3 ,不知道为啥一看 T3 就觉得十分不可做,虽然潜意识里觉得这样想会出问题,不过当时确实感觉不可做,如果那是一道水题那我必完,所以最好还是避免这种直观上对题目难度的判断。
基于直观上的判断,本来想直接打 (16) 分就走人的,但是又感觉 (44) 分挺好打的实际上是我不会写16 ,过了一会儿发现本质上可以考虑每个点的恭喜,一个点会贡献到另一个点当且仅当两点间的路径上的点编号都不小于这个点,所以动态加边就挺对的,大概分析一下是 (O(nm+mn^2)) 的?反正看上去就挺能过的,很快敲完了然后又过不去样例,调了一会儿发现读错题了,不过问题不大,稍微改了一下就过了,大样例跑 (0.1) 秒,感觉 (44) 有了。
此时距离考试结束还有一个小时,不过对 T2 的想法很成熟,估计可以过,如果能AC的话那我 Day1 244感觉挺稳,于是直接写 T2,不到三十分钟就写完了,一遍过了三个样例,但是样例比较水,打算自己造几个,首先造了几个比较小的,发现都挺对的,woc,我貌似写对了???,保守起见随了一组比较大的数据,然后一眼发现不对劲,怎么还有负数啊?
然后开始疯狂 Dbug,输出后发现边上的数解出的范围都是对的,但是一代入就挂了,什么情况。。。
最后发现是不能很好的构造一组边角上的数使得它们满足不等式的限制,然后就挂了,由于是一组不等式的形式,所以想了一下差分约束,但我的不等式中有类似 (x_1+x_2leq a) 的形式,这咋差分约束啊,不大会,但是 (n,mleq3) 好像挺对的,于是此时估分 $ 100+50+44 = 194$,距离考试结束还有十五分钟,打算回去检查代码,剩下的时间也没干啥。
考完之后离开考场,在楼梯口碰见了(Hcolor{red}{ISkrrr}) 和(Kcolor{red}{aiser\_Kell}) ,然后就一起出去了。
走出考场碰到老姚,让我们先回宾馆,然后就边走边聊,大概吐槽了一下考试题,而且我还大胆猜测 (Lcolor{red}{ongdie}) 和 (Lcolor{red}{iuchang}) 有一个人 A 了 T2,所以我就退役了(?),不知道为啥就是直觉,然后就瞎聊了半天,忘了聊啥了。。。。。
到宿舍之后发现 (Lcolor{red}{ongdie}) 还没回来,打算去转一圈,然后他就回来了,一起期待中午的盒饭能吃一点,毕竟是一百的盒饭,后来发现就这啊,还不如泡面。
下午和 (Rcolor{red}{ubyonly}) 玩了一下午,本来说查代码的,但是一直没查,也没太在意(伏笔1)。
晚上睡觉最开始还是睡不着,就比较困,但是睡不着,不过躺着躺着就睡着了。
Day2
由于第一天已经考过一次了,所以这次并没有很紧张,坐到位置上后等了一会儿就开始了。
T1这一眼数据结构题吧,貌似有点线段树维护单调栈的感觉?不过不大会,先放一放。
T2一眼状压,不过状态不是很会定义,先放一放。
T3一眼不会,有支配,这不会是支配树吧,不过可能也不是,我没学过也不知道支配树是干啥的啊。
最后决定先开 T2 ,因为这种状压一般比较好写,但是想了半个小时发现还是只会 (O(n!n)),而且感觉再想下去可能没有什么进展,有一个差分的思路但是很快假了,决定打完 (O(n!n)) 就去写 T1 ,打完之后又没过样例,rp--,模拟了一遍甚至以为样例假了,那这把好像不太好整,感觉 T1 和 T2 都有思路但是都整不出来,告诉自己别急,然后开始重新模,发现要求公布的 (b_i) 单调不降,于是随便改改就过了,$ 60 $ 应该有了,所以去写 T1 。
直觉上感觉这个东西只要把链的写法想出来然后扔到树上就能过,所以先想链的写法。
貌似做法就是直接扫一遍然后如果当前的数是我想要的就++,不过这个数貌似只能扫一遍判断,诶不过要是离散化一下那不就相当与从 (1) 开始走吗,那就对于每个数只需要找第一个大于它的数,然后往后跳,那倍增一下是不是就 (log) 了,诶好像有了。
在树上首先把路径劈成两半,(x) 到 (lca) 可以用向上倍增解决,(lca) 到 (y) 咋办,不大会了,貌似也可以倍增但是这次要倒着跳,倒着跳咋跳啊,没有起点?好像可以二分一下,这样就有重点了,貌似也有单调性,那直接写一发吧,考试开始一个小时半A掉Day2的一道题,还不错。
写完之后发现过不了样例,晕,不过把倍增改成暴力就能过样例,所以应该是细节挂了,然后拍了一个小数据,调了调发现应该把二分边界改一下,然后就过样例了,感觉挺好的,突然想起来如果T2的 (b_i) 是单调不降的那么我那个差分貌似又真了,于是立刻去写T2的状压,大概两个半小时的时候就写完了,不过时间复杂度好像有点爆炸,(O(2^{13}mn^2)) ,那个 (n^2) 看起来就挺假的,突然怀疑能不能跑过最大的数据,顺手剪了几个枝,然后测极限数据,(0.3) 秒?跑这么不满,那好像没啥事了,又随了几组数据,发现效果还行,此时估分 (194+100+100),感觉挺高的,但是既然我都过了,(Lcolor{red}{ongdie}) 和 (Lcolor{red}{iuchang}) 应该也差不多吧,那我还翻个啥盘啊,当时感觉胜利与否在于 T3 拿多少分。
最开始的暴力都不会打,想想貌似可以删除一个点然后看看一号节点能到那些点,这样做大概就有暴力分了,先写了一发过了样例,此时感觉对于正解仍然没有思路,所以打算把暴力分都拿到,开始写树的,写完之后随了几组数据都挺对的,然后就没管它,此时距离考试结束还有不到一个半小时,感觉希望有些渺茫然后开始算分,(194+100+100+45=439),好像有点高?那是不是挺稳的?
想着想着突然发现会不会建出支配树后套上树的做法就能AC,猜测可能是这样,但我不会建支配树啊,没事可以 (n^2) 建树,然后就自己口胡了一个支配树上去,套上树的做法,竟然一下过了三个样例!
第三个样例看上去就不是很水,于是我AK了?
现在估分(194+100+100+100=494),有点起飞的感觉,此时还有大概一个小时左右,为了求稳要去打一下对拍,第一题直接过了对拍,第二题也是,but 。
第三题拍了几组就挂了,以为是数据造错了然后手模了一下,发现这玩意根本就不对好吧,这大样例咋回事啊,这是什么鬼啊,于是估分 (194+100+100+45=439),我回来了。
然后内心骂了半天T3出题人,怎么大样例这么水,希望别有人被坑了,后来想了半天也没想出来怎么解决这个问题,貌似需要访问一遍支配树上的父亲,然后还要统计一些东西?不大会,然后就想不出来了,最后考试结束了。
老师掏出一个 U 盘,说确定好代码后再走,以为是Day2所以用 U 盘拷走(伏笔2),然后就弄了亿分钟,我退役感言差不多也想好了,最后突然又让教练们进来,不知道那人是谁,开始宣读一张纸,具体读了啥我也忘了,在当时那种情况下,我几乎只听清了关键字——加试,然后我人就傻了,貌似是因为第一天的码由于不可告知的原因没了,所以要补一场考试,下午三点开始,我一看时间现在都快两点了,还没吃饭,一会儿发了盒饭,不过没有心情吃,就吃了一点就睡觉了,桌子还挺硬,所以把校服脱下了垫着(我怀疑这是我现在感冒的原因),我也不知道睡没睡着,很快就开考了。
一看只有一个不到 (500K) 的压缩包,怀疑没有大样例,公布密码后确实没有,更 $ NB $ 的是,题面竟然是图片加文字,配个图是什么鬼啊?更更 (NB) 的是,上边写着 (NOI2011) 福建省省选,加试整个十年前的题是什么意思啊,不是说备用题吗??更更更 (NB) 的是,题面没有编译选项。。。
开场看题,T1 貌似是一个字符串,T2 是立体几何,这做啥啊,球的表面积都忘了,并且猜测这题 (HE) 应该都是爆零,所以不打算想了,T3 是一个推式子的,但是递推关系不是常系数,也没啥思路,打算一会儿写个高斯消元看看。
于是开始写T1,想了半天也没啥思路,先打了一个暴力,然后觉得这样不大行,不过猜测如果是十年前的题是不是数据会水一些,于是打了 SAM 上爆跳父亲更新答案,随机数据跑的很快,三十分应该有了,想了大概两个小时左右还是不会,然后就跳过去了。
看了一下 T2 ,觉得二十分可以想想,此时感觉下午只要打好暴力就差不多了,想了半天还是不会二十,貌似十分不可做,直接撤了,输出一个 (0) 就跑路了。
把希望放在最后的 T3 上边,全文搜索质数,(0) 个结果,cao,模数不是质数,那暴力分都拿不到??
感觉模数不是质数可以扩展卢卡斯,不过是偶数的话就没有逆元了,咋整?推了半天还是没啥思路,根本就推不动,所以只能赌他模数有奇数的情况了,不过是多测啊,那也不能坐着待着吧,所以就用最后一段时间写了一个扩展卢卡斯,退役感爆棚,本来估分 (400+),现在 (300) 都不到,听天由命了。
考完之后又是用 U 盘收,等了半天,很头疼。
出考场后问了问大家的分数,貌似都不是很高,最高在 (60) 分左右,不过据说一个学弟 A 了 T1,而且 (Lcolor{red}{iuchang}) 打了 (60) ,算一下貌似会死, (Lcolor{red}{ongdie}) 貌似今天考挂了,希望他没事,到了车上和大家聊了聊天就睡觉了,困的要死,到学校已经深夜十二点了,回宿舍就直接睡觉了,第二天晚起了一会儿,挺困的,去了机房后用民间数据测了一下,没有挂分,而且据说我们考的确实是今年的福建省选,而不是 (2011) 的,那我SAM不是稳挂吗,现在就等出分了。
update:出分了,不过因为数据锅了好像要重测,然后 (Lcolor{red}{ongdie}) 有可能能进,还不太好说,希望他能进。