NOI2022 翻盘记
8.23
day1。
首先花了 40 分钟先把三题都看了一遍。1 很一眼,2 不是那么一眼,但是十分 dp 套 dp。感觉自己想到了 \(k \times 2^9\) 级别的状态数,于是就开始写题。从 t1 开始写,写了半小时就过了大样例。
感觉 t1 也没什么可以挂的,于是就开始做 t2。
dp 套 dp 写到一半发现状态数不对,是 \((k+2)^{2^9}\)。于是一直在想怎么压状态。似乎找到了一种压状态的好方法,但是状态数还是比较大。
这个时候我感觉 noi 肯定不会出这种神秘 dp 套 dp 题的,之前看 noi 大纲的时候好像 DFA 是 10 级来着。想必是找一些充要条件吧。于是准备先做下 t3 冷静一下。
我很快就想到了一个根号做法,感觉很对。于是开始写,写了很久很久很久很久,写到了最后 40 分钟才写完。意料之内的,测样例发现寄了。但是我仔细思考,发现 \(u=1\) 假了,而且 \(u = 1\) 并没有想象中的好做。似乎没什么简单的处理方法,而且肯定没时间写了,于是就开始凑暴力。
首先把 t3 阉割了一下,得到了 \(15\) 分。
然后写 t2 的爆搜,写了好久才写完,不知道为什么。
然后开始写 dp。写完 \(l=r,k=0\) 之后发现没有对应的数据,就随便手造了几组,是对的。
发现还有时间,于是就开始写 \(l=r,k>0\)。
在最后一分钟写完了,最后几秒钟造完了个答案是 YES
的样例,发现是对的,比赛就结束了。
回寝室发现我的 dp 没清空,仔细一想发现似乎没问题。下午出分发现自己只有 \(65+25+15 = 105\),挂了 \(50\)。
t1 的链表两句话顺序写反了,t2 的 \(\texttt{bitset}\) 滚动数组本应写 f = g
,结果我写成了 f |= g
。
感觉自己寄了,比队线低了几百分。
但是似乎没多少人切 t2,但是 t1 没挂的基本上都比我高,因此还是垫底了。
晚上听讲题发现 t2 就是 dp 套 dp。其实我应该相信自己的感觉的。
t3 的树分块做法确实就是我的做法加上 \(u=1\),而 \(u = 1\) 直接长剖就行,流泪。正解似乎就是再加个二进制分组,感觉很神奇。写的时候就感觉似乎在块长内要处理的东西比较少,果然是要用到的啊。感觉我是菜逼。
8.24
没啥事情。
教练开会说队线只有 130 左右,感觉很有翻盘的希望。
感觉寝室里的空气没有外面新鲜。
8.25
day2。
开始看 t1 以为是无根树,想了若干分钟糊了个以重心为根,可能的点数很少的结论。后来一看发现是有根树,想了想发现和孔姥爷之前和我说过的一道 TC 题很像,不过似乎只要直接暴力就对了。想了想发现很对,是 \(\Theta(2^k \times n)\) 的。然后去读 t2 题意,感觉是个结论题。然后就先开始写 t1,大概在 1h 多一点的时候过了大样例。
根据 day1 的经验,我需要写对拍。但是感觉这题对拍很难写,于是就咕了。
然后去看 t2,瞎猜结论。猜着猜着就感觉会做了。写了一下,发现样例过不去。
想了想发现区间有交会有问题,于是换了个贪心方法,于是就过了除了最后一个的所有样例。
感觉我今天稳了,于是很快地把暴力改成线段树,最后大概在 2.5h 的时候把所有大样例都过了。
t3 一看就很怪。仔细思考后发现似乎可以进行一些化简操作,转化成只有三个数 \(2,3,4\) 且区间长度大于 \(1\) 的情况。
想了想发现似乎判一下 \(v\) 的大小关系,然后最小割一下就行。
好像有 50 分,于是开写。
写啊写啊写啊写,大概到比赛结束前 40 分钟才调出来。
感觉正解肯定是把答案写成 \(av_2+bv_4-10^6ab\) 的形式然后可以很快地查询,就算想出来了也写不出来。估摸了一下觉得 250 分也不算是低分了,总分比 noi2020 队线都高了,不如检查一下前面的题保平安。
最后修了 t1 的一个复杂度可能假掉的地方,比赛就结束了。
结果出来了发现我有 260 分,dinic 多跑了 10 分,似乎翻盘了。
总分 \(100+65+25+15+100+100+60=465\)。
?
军训。
看了看最终结果,我在所有选手中(并列) rk8。感觉打的一般,但是排名似乎挺高。day1 策略上有很大的问题,没估计好题目的难度与所需的时间。day2 虽然没打满暴力但是分数还是挺好看的。
发现 xj 今年没有集训队。这届高二应该还是挺厉害的,在 noi 的表现却不尽人意。祝高二学长 xyf hcy zy*2 flying 文化课顺利。
有些平时感觉水平挺高的人退役了,比如 froggy wd lnzwz kongzi,祝他们好运。
qlr 捧杯了 /bx。
希望以后联考的题目难一些,似乎没有一场联考达到了今年 Day1 的难度。