2025.10.15模拟赛
赛时
看T1,然后一看就是一个模拟题,然后意义不明的发了一会呆后,切掉了
然后睡了30min。。。
看T2,然后想到了CDQ分治,但是想不到CDQ分治的细节,所以直接放弃了
然后我想值域上进行优化,然后枚举a,b,c的,然后想一想优化了c这一维,75pts
看T3,然后还剩1h,然后链上快速码了一个分治做法,线段树维护最大值即可,56pts
想到树上做也是相似的,但是没想到怎么计算那种子树和子树之间拆分出的散块,遂放弃
其实直接用dfn序维护,然后跑完后把线段树上赋为0即可,感觉在想一想可以想到的
T4,还剩30min,读完题后发现,42分很好拿,直接两个求lca即可
策略还可以,再多一点时间,T3可能能拿正解
赛后
T2lmy做法:
a排序,然后b,c上二维平面,发现一对可以产生贡献的点对,就是b最大的和c最大的组合起来的矩形即可,然后若两个b和c都是最大的点应当怎么办,把它放到一个set里维护,然后若新加入一个点能够成点对点就拿出来
T2zqm做法:
分别按a,b,c排序,然后若a和b和c所对应的最大值都不一样,就直接是答案,否则就弹出那个两个相同的值
发现其实把lmy做法反着来做,就和zqm做法一样了
T2htc做法:
CDQ分治,无脑做,a排序,b分治,c只要查是否有两个数>它就行了
T3并查集做法:
考虑我们无非就是想用最大的点分治这棵树,考虑从小到大枚举点,比当前点大的点都是分治中心,所以直接dp转移,然后并查集维护即可
T4sgz做法:
k=0时
考虑到枚举一棵树的祖先关系,维护在第一颗树上的祖先关系的点在另一棵树上的非祖先关系
非祖先关系考虑用dfn序,记录进入的dfn序和出去的dfn序,非包含关系即可,用树状数组维护
考虑k不等于0的情况,维护k级祖先就转化成了k=0情况
T4htc做法:
考虑枚举一颗树的lca解决k级组先问题,就是考虑比lca要深k级的所有点的互相之间的贡献,然后用dfn序维护在第一颗树上能否有祖先关系
考虑怎么考虑互相之间的贡献,用启发式合并,在树状树组上查询即可

浙公网安备 33010602011771号