2025.10.24 测试

2025.10.24 测试

提高组模拟赛, shanganze 2h AK

me 只会两道,被踩爆了

把简单题想复杂了,写太慢了

1.

谔谔,不知道为什么浪费好长时间

就做个前缀和

然后想用 set 但求不了 个数

然后写了个线段树

2.

一眼

每一列答案单调,一起算

3.

考虑枚举 gcd

然后是个计算直径

这样还并不能通过

考虑到数据随机,所以 \(\sum num_{gcd}\)\(n \log n\) 级别

所以每次计算直径时只把用到的边加进来即可

4.

一眼想到 boder 了,然后就寄了

先考虑字符串构造的过程

就是把大写放右边,小写放左边

然后发现可以用题目中提示的哈希 \(O(1)\) 判断弱循环节

考虑每一个 弱循环节 \(x\)

出现位置一定是一段连续的区间 \(x , r_x\)

因为每个字符要对应的字符其实是固定的,不合法后后面一定不合法,而且 \(x\) 时刻一定合法

然后可以对每个 \(x\) 二分出其出现区间

询问变成

区间 \(x \le q \le r_x\)\(x_{max}\)

然后这个东西可以对 \(x \le q \le r_x\) 扫描线, \(x\)\(x\) 时刻激活,在 \(r_x + 1\) 删除

然后查询区间 max