day0
看了各种板子,复习了一堆数学。
day1
看了(1h)题,(T1)就一个线段树二分,(T2)遵循本能推了一下式子然后还是跟(n)有关的,(T3)没有任何思路。
先写了(T1)正解和(T3)暴力,然后就将近(11)点了。
然后花(40min)把(T2)各种暴力都推出来并写了,然后盯着自己的式子看了约(10min),才发现自己已经做出来了。
然后(T3)毫无头绪,就拍完(T1)然后发呆。
出了考场听说(T1)卡常,仔细一想我写了一次线段树单点修改两次线段树二分,离散化没有去重,(2e6)的数据只给了(3s)还不开(O2),完全没去卡常所以很慌,可能少掉(40)。
所以就(60+100+15=175)或(100+100+15=215),拿了大众分。
day2
(T1)怎么想都(2^m*n),(T2)怎么想都(n^2),(T3)口胡过原题,有点不敢相信这题放(T3)。
然后就码(T1T2)暴力和(T3),然后测(T3)的极限数据,然后(10:45)了。
后面的半个小时就是来回想(T1T2),(T2)觉得(+1)操作用不了(trie),又觉得这题看上去像防(AK)题,往一些奇怪的方向想了一下就没管了。
然后想(T1)的时候想着想着发现自己(sb)了,先写了个(2^m*m^2)然后不停修改改到(2^m*m),大样例跑得过但是空间超过了(512MB),不知道怎么卡空间,就只有(80)。
然后只剩(1h)左右,觉得(T2)应该不能(1h)想出来并写完,就拍了下(T1T3)然后开始(YY)怎么卡(T1)的空间。
出来听(dqa)一讲,(T1)是把转移系数分两半存然后做的时候合并一下,我光想着怎么去掉(m)那一维了。(T2)把(trie)反着建就变成简单题了,要是仔细想一下然后冲一波估计就(A)了。
然后发现全场就我不会(T2),其他人都切掉了(T1T2),(T3)也拿了(70)或(100)(也就是人均(AK)了),我(T2)暴力只有(10)分所以被吊打了。
(80+10+100=190),比大众分低了(100)左右。
总结
退役了。
退役原因:
1.经常(sb),做题全靠见过,没见过的东西可能在奇怪的地方卡一下或者卡到比赛结束。
2.想题的时候太懒,经常跳过一看就很重要的地方。
3.高估了题目难度,出题人部分分分配得对我不太友善(可能)。
总之就是太菜,该(sb)的地方全(sb)了,被区分度不高的题区分掉了。
口胡题解
D1T1
线段树二分即可
D2T2
变换枚举顺序,拆斯特林数再变换枚举顺序,里面那个(sum_{k=1}^{n-j})的东西可以拆组合数来递推,然后就跟(n)无关。
D3T3
好像是某篇论文上的东西,没见过。
D2T1
存下两两点之间的贡献,递推出转移系数再(dp)即可,把系数从中间分成两半存可以把这一部分空间优化到(m*2^{m/2})。
D2T2
倒着建(trie),然后加一操作就只是一条链上的点左右儿子交换,(trie)树合并即可。
D2T3
莫比乌斯反演一下去掉(gcd),每条边只会贡献最多(144)次,每次矩阵树定理即可。