比赛场次 | 690 |
---|---|
比赛名称 | 2025暑期集训第2场 |
比赛状态 | 已结束比赛成绩 |
开始时间 | 2025-06-29 13:00:00 |
结束时间 | 2025-06-29 17:30:00 |
开放分组 | 全部用户 |
组织者 | syzhaoss |
注释介绍 | 注意得部分分 |
题目名称 | 序列操作 |
---|---|
输入输出 | sequence.in/out |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试点数 | 10 简单对比 |
用户 | 结果 | 时间 | 内存 | 得分 |
---|---|---|---|---|
|
AAAAAAAAAA | 1.172 s | 11.69 MiB | 100 |
|
AAAAAAAAAA | 1.375 s | 11.22 MiB | 100 |
|
AAAAAAAAAA | 1.384 s | 9.42 MiB | 100 |
|
AAAAAAAAAA | 2.179 s | 11.73 MiB | 100 |
|
WWWWWWWWWW | 3.057 s | 4.23 MiB | 0 |
|
WWWTTTTTTT | 13.748 s | 3.93 MiB | 0 |
|
WWWTTTTTTT | 13.989 s | 3.80 MiB | 0 |
|
WWWTTTTTTT | 14.022 s | 11.15 MiB | 0 |
lxhgww 最近收到了一个 $01$ 序列,序列里面包含了 $n$ 个数,下标从 $0$ 开始。这些数要么是 $0$,要么是 $1$,现在对于这个序列有五种变换操作和询问操作:
0 l r
把 $[l, r]$ 区间内的所有数全变成 $0$;
1 l r
把 $[l, r]$ 区间内的所有数全变成 $1$;
2 l r
把 $[l,r]$ 区间内的所有数全部取反,也就是说把所有的 $0$ 变成 $1$,把所有的 $1$ 变成 $0$;
3 l r
询问 $[l, r]$ 区间内总共有多少个 $1$;
4 l r
询问 $[l, r]$ 区间内最多有多少个连续的 $1$。
对于每一种询问操作,lxhgww 都需要给出回答,聪明的程序员们,你们能帮助他吗?
第一行两个正整数 $n,m$,表示序列长度与操作个数。
第二行包括 $n$ 个数,表示序列的初始状态。
接下来 $m$ 行,每行三个整数,表示一次操作。
对于每一个询问操作,输出一行一个数,表示其对应的答案。
10 10 0 0 0 1 1 0 1 0 1 1 1 0 2 3 0 5 2 2 2 4 0 4 0 3 6 2 3 7 4 2 8 1 0 5 0 5 6 3 3 9
5 2 6 5
对于 $30\%$ 的数据,$1\le n,m \le 1000$;
对于$100\%$ 的数据,$1\le n,m \le 10^5$。