比较简单的一场,但是我好像做的xibalan。
上来看了一小时题啥也不会。
然后发现(T2)数据范围像是分块。
然后傻逼一样去打根号算法。
最终结果当然是死了,到九点半也没写出来。
然而早就会(T1)正解了,于是先五分钟拿了(T3)的30分(为啥60那么好打。。)。
然后半个小时打完(T1)(临接表被卡常到90?)
然后继续搞T2最后弄出来了。
剩下十分钟啥也没干,三分块长从(12s)变成了(2s)。
T1
原题,(xor)差分之后就没了。
T2
数据结构题毫无思维难度,直接(maracher)+分块暴力就行了。
听(kx)说他调了4h现在肾疼。(调四个小时真是不成功便成仁啊233)。
T3
有点意思。
正解是用平衡树维护差分表。
当时没有仔细的想T3,但是由于({g_{i,j}-a_i(j-1)})具有单调性,就可以二分了。(单调性的证明的话。。其实考场上证明挺没意义的,现在会了懒得写,大概就是如何连接断点分成的三部分,然后套上一个更大的(a_k)来证明)。
这样我们二分断点,发现要实现的操作是区间平移和区间加法。
直接用平衡树维护即可。
然而我的(splay)要写哨兵就很恶心,所以我重构了三次(真傻),最终在(Dybala)大神和(kx)大神的帮助下痛苦(AC)。。