CQOI2020游记
gyh20
2020-06-20 19:49:12
如果您想看大佬 AK 暴虐全场请[移步](https://www.luogu.com.cn/blog/feecle6418/xing-xuan-lian-kao-2020-you-ji)
## Day -1 & Day 0
打了很多板子,复习了很多例题,但没有复习多项式(反正考了也不会)。由于 CSP 丑陋的分数,我不可能进省队。这也好,我的压力没有那么大,但我还是想尽力考一次。
~~然而我整整有半个下午在和 Fee_cle6418 比赛卡常。~~
## Day 1
早上 $7:30$ 到了考场, $8:10$ 进考场,本来想打个后缀数组热身的结果看到有 Lemon 一直去研究怎么用(以前没用过,但的确很好用)。大概 $8:32$ 左右,还没有人说话,我很迷茫,结果发现密码已经发下来了。
发下来,随便看了看题,感觉 T3 最可做(,T2 看到多项式三个字直接放弃。
还是先看 T1。
先一眼看了个 $Qx$ 的做法,即每次插入树状数组然后枚举值,我发现这个东西很好优化,因为这个函数是一个中间高两边低的,于是敲了个三分。
结果发现,样例都过不了,因为它是一个阶梯状的,所以三分会有错,于是想了半个小时怎么做(简直就是 sb),然后想到的解决方案是三分第几个冰(更 sb)。
然后更 sb 的事情:我看到 $x\leq 2\times 10^9$ 我没有想到离散化反而想的是动态开点线段树。
中途有很多值算了很多遍,但我不想改了,想等最后再改。
大概两个小时左右,过了两个样例,然后做了一个 $Q\leq 2\times 10^5$ 的样例,我一直认为这个能随便过。
结果:15s
???
常数真的大,虽然是两个 log,但一个是动态开点的 log,一个是三分的 log。
卡了一会常,还要跑 7s,Lemon 上跑 3.5s。
然后我把求和的线段树换成了树状数组,但求 k 大还是用的线段树(sb),结果本地 5s Lemon 2s???
树状数组好。
大概得了 $60$ 就走人了(菜),此时已经 $11:30$ 了。
开始看 T2。
一眼 $30$,先打了一个 $20$ 的暴力,觉得 $30$ 有点丢人,去想 $m=0$ 的情况,~~经过打表~~得出是 $a_0\times (x+1)^n$。觉得很不错。
其他情况我直接输出了 $0$。(万一对了呢)
此时还有 1h。
看 T3:
最大子集不存在异或为 $0$?不是裸的线性基吗?
然后这个调整是什么鬼玩意?
突然想了一个建图方法:依次看每个数能否代替 A 或 B 中的一个数,从小的向大的连边。感觉这样是对的,复杂度也是对的,但也只是感觉。
之后缩环变成了一个 DAG,然后想怎么拓扑 DP,写了一个 $Nv$ 的调到 $12:50$,结果小样例输出了 $7$。
我发现:这样是错的,算重了。
怎么办呢?爆零了。
还是太菜了。
预计得分 $60+40+0=100$
百分之百 $60$ 会炸掉。
赛后 zzw4257 说 T3 如果是这样可以网络流,具体不清楚。
## Day 2
Day 1 死得如此惨烈,Day 2 没有报什么希望。
开场觉得 T1 可能是状压,但完全不知道压什么,放弃。
T2 仿佛没思路。跳过。
~~于是 T3 又成了最可做的一道~~。
生成树之和??从来没听说过,只听说过生成树个数。
仿佛有 $30$ 是爆搜,$50$ 是矩阵树。
矩阵树是怎么写的来着??
试了几遍,全输出 $0$,最后隔了好久才看出来我写的是一个 $n\times (n+1)$ 的高斯消元的矩阵。。。。
试了几个,仿佛都是对的。
期望得分:$50$。
回去看 T1:
这**是什么东西???
这个部分分是什么鬼????
先打了个 $m!\times m^2$ 的暴力。
突然想起了一个东西!模拟退火!
迅速的打了一个,然而大样例始终过不去,一直输出五千万零几,自己随便造了几个小样例,跑了很多次都不一样。搞了一个多小时贪心策略还是没有进展。直接交了。
万一我 RP 不错呢(想 peach)。
期望得分:$30$。
然后看到了最开始感觉最不可做的 T2。
主要难在进位。
记得之前自己出过一道区间加区间异或和的数据结构,当时用的桶+分块做到 $O(\sqrt n\log w_i w_i)$,然而连部分分都没有。
但我突然觉得桶这个思想很妙,可以处理进位问题。
然后这个距离其实是一个差分,可以用下减上然后减去当前节点的 dep 来做,然后处理某一位有值的情况即可。这个桶还可以用 DSU 的思想!
妙啊!!
打完之后调了一会过了小样例,之后马上又过了大样例。
难道我要 A 题了吗???
结果造了一个随机的满的样例,跑了 $8s$。
仔细分析一下,复杂度是 $n\times$ 按位 $\times$ DSU $\times$ 树状数组前缀和 $= n\log^3 n$。
至于 $n=500000$ emmmmm
看来还是 too young too simple。
想用 Lemon 测一下链发现不会用 Lemon 开栈。。。但本地还是跑得出来,因为链是严格 $n \log^2 n$ 的且树状数组常数小。
本地 $1.7s$ 就跑出来了,应该问题不大。
测了一下 $v_i=1$ 的,仿佛也能过?
至于随机数据,就跑了一个 $\sum dep$ 的暴力。
希望不要被卡。
期望得分:$60$(十分依赖数据的形态,不会被纯随机卡,但会被奇怪的数据卡)
希望我 RP 爆发,考试之前地上的两毛钱我都没贪小便宜捡,给我过了吧。
Day2:$30+60+50=140$
总期望: $100+140=240$
总结:@Fee_cle6418 比我小还比我强,Day2 T2 直接用之前做过的某一次 AT 的 C 题的 Trie 树方法 $O(n \log n)$ AC,Orz!!!不愧是我的女神。
至于我,还是太菜了,明年努力!
Update:期望得分&实际得分:
期望:
$60+40+0+30+60+50=240$
实际:
$30+40+0+30+80+30=210$
Day1T1 常数过大被卡成暴力分了???????????SHIK!!!!!!!
Day2T3 为什么矩阵树写错了???????????SHIK!!!!!!!
好在 Day2T2 三只 $\log$ 没有死的太惨,还有 $80$。
二次Update:
Day1T1和Day2T3 好像都是WA,不清楚原因。。
Day2T2是数组开小了本来可以A的啊啊啊啊啊啊!!!!!!!SHIK!!!!!!!
人生中的第一次省选,结束了!