#loj5205. 「UOI 2025 Stage 4 Day1」简单子序列
「UOI 2025 Stage 4 Day1」简单子序列
[AdditionalFile5205.zip](file://AdditionalFile5205.zip?type=additional_file)
#5205. 「UOI 2025 Stage 4 Day1」简单子序列
标签: 传统 | 时间限制: 1500 ms | 内存限制: 256 MiB |
题目描述
题目译自 Ukrainian Olympiads in Informatics 2025 Stage 4 Day1 T4. Проста підпослідовність
我们称一个整数数组 为好的,如果其长度为 ,或者对于任意 ,前缀和 以及后缀和 都是非负的。其中, 表示 。
我们定义一个数组的美丽度为它的最长好的子序列的长度。
给定一个长度为 的数组 ,数组元素仅由 和 组成。
你需要处理 个查询,查询分为两种类型:
- 将元素 替换为 ,其中 是查询参数;
- 计算由元素 组成的数组的美丽度,其中 是查询参数。
注意:数组 称为数组 的子序列,如果可以通过从数组 中删除若干元素(可能是零个),使得剩余元素组成数组 。空数组是任意数组的子序列。
输入格式
输入的第一行包含两个整数 和 ,分别表示数组 的长度和查询的数量。
第二行包含 个整数 ,表示数组 的元素。
接下来的 行描述查询。每行的第一个数字 表示查询类型。第一类查询格式为 1 p ,第二类查询格式为 2 l r 。
输出格式
对于每个第二类查询,单独输出一行一个整数,表示对应数组的美丽度。
样例 1
输入
5 4
1 1 1 -1 1
2 1 5
1 3
2 1 4
2 2 5
输出
5
2
3
样例 2
输入
4 4
1 1 1 -1
2 1 2
2 2 4
2 3 3
2 3 4
输出
2
2
1
1
数据范围与提示
详细子任务附加限制及分值如下表所示:
| 子任务 | 分值 | 附加限制 |
|---|---|---|
| (对于 ),且无第一类查询 | ||
| ,且无第一类查询 | ||
| ,且无第一类查询 | ||
| 无附加限制 |