2025.11.10模拟赛
赛时T1线段树分治30min想到
1h想到
然后想T2,想到T2的一个贪心做法,考虑将扩展,使得和尽可能地缩小,然后再暴力往两边进行扩展
写完后只剩2h了,所以进行了一个决策,不写T2的拍了,其实也是不知道怎么写T2的暴力,赛后发现其实一个可行性dp转移即可
先想的T4,肯定是根号分治,但是不知道怎么处理子树的修改,后来发现子树修改的dfn序在一个区间内
打了30pts暴力
后面的根号平衡复杂度还没太想明白
T3,最后1h想的,转化为数二进制0的个数,然后20min来不及打了,码了20走人
考虑到数位dp是求前缀然后差分,所以一个完整的靠左的二叉树答案可以快速求出,被限制的位数单独考虑向上跳即可
发现数位dp不太熟
其实瓶颈在于把L二进制拆分,考虑到十进制转二进制是短除法求余数,需要用到二进制除法,并且最终都是只处以2,复杂度不优,给通过10^9拆分,然后分别进行计算,把余数给到下一位,优化除法复杂度 \(O(n^2/900)\)
T2的原题是双序列拓展,把T3转化成任意时刻的\(s_l-s_r<=0\) 放到二维平面上,从0,0走到n,m
然后考虑什么时候不合法,就是 \(a_mx>b_mx\) 就有一条a 不能走
\(a_mn>b_mn\) 就有一条b不能走
要想合法,两个条件都得反过来,所以一定能找到一个十字图形,左上的就是从左上角到达边界任意,右下角一样
然后按照刚才的限制递归求解即可,维护前缀mn,mx,后缀。。。

浙公网安备 33010602011771号