【游记】2020联合省选

说在前面

今年的省选是在本校考的,非常幸运。但俗话说得好,祸福相依。

day  0\tt day\;0

最后一个突击冲刺的夜晚,天上一颗星星也没有。机房里是几个年轻人,其中的一位正在复习 NTT\tt NTT ,他还没有意识到将要到来的考试是个灭顶之灾。

我们的教练显然并不相信临阵磨枪的能力。今天晚上,我们一起看了爱尔兰酒后 yy\sout{\tt yy} 笑话,大家一起在喊 yeah\tt yeah ,没有想到明天就全是 Oh\tt Oh

今天晚上好像睡得蛮不错的,希望明天的 T1\tt T1 能够搞定。因为我的水平只允许我完成 T1\tt T1 呢。

day  1\tt day\;1

考虑到时间很充裕(后来证实并非如此),先玩了一会儿样例,发现有误……

然后发现把冰人跟火人搞反了。森林冰火人请原谅我

此时刚过去半个小时左右吧,已经有了个三分的思路。因为目的就是,令 min(a,b)\min(a,b) 最大,a,ba,b 分别是冰人、火人的能量和。长的是个尖尖角。

三分完之后需要一个求和,大概是平衡树可以完成的任务。复杂度 O(nlog2n)\mathcal O(n\log ^2n) ,啊这,n106n\le 10^6 ,还专门不开 -O2\text{-O2} 是不是要卡常啊?

仔细想想,最高点一定在二者相等时取到,因为不等时可以调整使其更优。那么有个二分的思路,用 aba-b 作为函数值,找其零点。

这玩意儿可以直接在平衡树上二分了呗。加减冰人、加减火人,都是区间修改,但是函数一定保持单增。

此时时间过去了一个半小时。确实是稍微慢了一点,但是思路应该是没有问题!

……

此时时间过去了四个小时。心态崩了。大样例过不了。想家了。半个小时的倒计时,仿佛血的沙漏,要一滴一滴地流干。

平时都没有遇到过调不出题的情况,何况是有两个半小时的充裕时间。sxy\tt sxy 是机房的另一个大佬,平时都是我帮他调题的。这一次,竟然是他成功了!

究竟是人性的扭曲还是道德的沦丧?我噙住泪水,忍痛改回了 O(nlog2n)\mathcal O(n\log^2 n)

……

若时间倒退回还剩两个小时前(也就是 T1\tt T1 开始写了 1h1\text h 后),当时我正在犹豫,究竟应该做些什么。我看看 T2,T3\tt T2,T3 ,感觉 T2\tt T2 是推式子的(卷积一类?才复习了 NTT\tt NTT 的我希望如此),而 T3\tt T3 是完全不可做的,即使会线性基也不行。T2\tt T2 小推了一下,只觉得 f(k)f(k) 令人沮丧至极。

仔细思考了一下,感觉 T1\tt T1 是决定 day  1\tt day\;1 得分的关键。没得说了,必须调出来!

……

改回了 O(nlog2n)\mathcal O(n\log^2 n) ,至少过了大样例。T2\tt T2 匆匆写了一个暴力,非常暴力,甚至忘了用杨辉三角。

day  1\tt day\; 1 之结局

跟同学们讨论了一下,其他人都觉得完全不可做。XEZ\tt XEZ 倒是说了 T2\tt T2m=0m=0f(k)=a0f(k)=a_0 时,有二项式展开的部分分。然后他们又说,组合数会爆,必须写杨辉三角。

我的组合数是个啥呢?硬乘,硬除。教练直呼内行

我想,我完了。XEZ\tt XEZ 这样高度概括了我的 day  1\tt day\;1 ,他的原话是:“你这个××\times\times!你怕不是个××\times\times吧!”

提示,××\times\times 与沙壁同音。我想,大样例过了应该没问题,6060 吧,等死。

day  2\tt day\; 2

抱着必死的决心,我战战兢兢地坐到了位置上。我唯一的希望就是,要把题调出来!

题目一看,T1\tt T1 的复杂度已经暗示的足够明显了,肯定是状态压缩。但是一开始根本没有想到,于是又往 T2\tt T2 看。

T2\tt T2 是极其复杂的,直到现在我知道了骗取 8080 分的做法,还是感觉非常毒瘤。

当时也考虑了拆位,也幻想过往上算贡献,最后的结果却是一条链、vi=1v_i=1 都搞不定。

T3\tt T3 却蛮不错,可以拿 5050 分,因为矩阵树是显而易见的。但是当时想错了,以为 wiw_i 为质数也能处理。

最后的一个小时,我突然意识到 T1\tt T1 的贡献是可以拆开的,就可以使用状压。复杂度 O(m22m)\mathcal O(m^22^m) 是平凡解。又意识到权值可以预处理,就改成 O(m2m)\mathcal O(m2^m) 了。

day  2\tt day\;2 之结局

感觉可以过 80+10+7080+10+70 ,后来经 zxy\tt zxy 提醒就变为了 80+10+50=14080+10+50=140

给我妈打了个电话报喜,因为我说的是第一天考砸了,今天干得漂亮。

还真是干得漂亮呢。

最后的最后

然后我的真实得分是多少呢?😃

0+0+0+0+10+30=400+0+0+0+10+30=40

人傻了,我就是从这里跳下去,死外边,也不会再碰 OI\tt OI 了。

明年见。


附录

day  2  T1\tt day\;2\;T1 是死在了空间上,预处理的权值数组开爆了。

哪个死出题人又卡空间又不开O2

day  1  T1\tt day\;1\;T1 尚待勘探。day  2  T3\tt day\;2\;T3 不明不白。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章