比赛场次 | 606 |
---|---|
比赛名称 | SYOI 专题 6:折半搜索 |
比赛状态 | 已结束比赛成绩 |
开始时间 | 2024-04-25 19:00:00 |
结束时间 | 2024-04-30 22:00:00 |
开放分组 | 全部用户 |
注释介绍 | 折半搜索,又称为meet-in-the-middle。 主讲人:刘一澈 |
题目名称 | 文艺平衡树(变态版) |
---|---|
输入输出 | Balanced_Tree.in/out |
时间限制 | 1000 ms (1 s) |
内存限制 | 64 MiB |
测试点数 | 20 简单对比 |
用户 | 结果 | 时间 | 内存 | 得分 |
---|
给定一个序列,请编写一种数据结构来完成以下操作:
1. 输入 $l,r,k$;对区间 $[l,r]$ 每个数加上$k$;
2. 输入 $l,r$;输出区间 $[l,r]$ 的和,并对$1e9+7$取模;
3. 输入 $l,k$;在位置$l$后添加一个大小为$k$的节点;
4. 输入 $l,r$;删除区间 $[l,r]$;
5. 输入 $l,r$;输出区间 $[l,r]$ 最大值;
6. 输入 $l,r$;输出区间 $[l,r]$ 最小值;
7. 输入 $l,r,k$;将区间$[l,r]$的值全部改为k;
8. 输入 $l,r$;反转区间 $[l,r]$;
注意:对于删除添加操作,例如在位置$i$后添加值$k$,那么$k$的位置为$i+1$,原$i+1$位置的数的位置为$i+2$,以此类推。若删除区间 $[l,r]$ 那么原$r+1$位置的数的位置变为$l$以此类推。即每个数的位置不固定,为当前序列的相对位置。
第一行有两个正整数 $n,m$;
第二行$n$个整数,为序列初始值.
以下$m$行每行一个操作,第一个数为操作编号,后面为它所对应的输入;
保证一切输入均为非负数,且不会有错误情况($l,r$超边界等);
对于操作2、5、6,输出对应的值,每行一个(含输出操作的)操作输出;
5 8 1 2 3 4 5 1 1 5 1 2 1 5 3 5 7 4 6 6 5 1 5 6 1 5 7 1 8 1 5
20 6 2 2
保证除求和(操作2)外其他结果均在long long范围内。
**提示:求max/min时取模会使答案错误。**
共20个测试点:
对于 50% 的数据,$n,m≤10000$;
对于 90% 的数据,$n,m≤100000$;
对于 100% 的数据,$n≤300000,m≤100000$.
by _SMY