0%

2021.11.08模拟赛

Wave good-bye to the past When hope and faith have grown so strong and sound

2021.11.08模拟赛

A. 等差数列

叉疯了

如果没有首项就是在 lcm\operatorname{lcm} 上重合,有了首项可以发现暴力找出来第一个相同的,后面还是 lcm\operatorname{lcm}

公差为零啥的一堆情况记得特判…

B. 玩具

先考虑身子肯定得移动过去,所以有 nbn-b 的代价

而且因为身子不会后退,所以我们可以直接动腿,只算腿的代价

如果现在有个区间上的可停留点数 L\ge L 就可以直接移动,记一下腿的最前最后在哪,找到最靠前的能走地方,走一次 LL 的代价

前能到最后 +b1+b-1 的地方

C. 整除

发现答案长度不是很大,用 string 记录,暴力BFS

D. 集合

只会 O(mlog2n)O(m\log^2n) 的愚蠢做法

拿两个启发式合并的并查集(因为没有启发式合并拿到了90pts ?)

AA 集合每个点挂一个 vector 记录每个操作的时间戳和值, BB 集合记录覆盖的时间戳

先查询最后的覆盖时间戳,然后查询 AA 集合中大于这个时间的加法标记,二分即可

注意每次合并区间其实也是一次类似覆盖的操作,每个点记录一下合并的时间戳,每次当前查询的时间戳要和他取 max\max