20210621模拟赛总结

T1:

显然可以想到一个简单的线段树维护线性基的做法,复杂度高达 (O(nlog^2n + qlog^3n)),使用st表的话可以做到 (O(nlog^3+qlog^2n))

进一步发现对于相同左端点的区间,越靠右线性基内的元素越多。可以将询问离线,从右到左处理。每次将枚举到的元素从左到右往线性基里面插入,若无法插入则说明右侧的所有线性基都不可再插入。可以发现复杂度是 (O(nlog^2n))

再进行优化,可以尽可能的用靠左的元素来替换掉线性基里面旧的元素。这样只需要维护一个线性基即可。复杂度降到了 (O(nlogn))

T2:

和前一天写的一道题有一点点相似~

把边全都连上,然后跑最短路就完事了。

T3:

并不会qwq

原文地址:https://www.cnblogs.com/nao-nao/p/14913523.html