20210621模拟赛总结

T1:

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

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

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

T2:

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

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

T3:

并不会qwq

posted @ 2021-06-21 15:13  nao-nao  阅读(44)  评论(0编辑  收藏  举报