7044: Decode
内存限制:256 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:41
解决:10
题目描述
给你一个长度为 $n$ 的序列 $a$,共 $m$ 次操作,每次支持以下两种操作:
1 l r 对于区间 $[l,r]$ 中的每个数 $a_i$,定义一个正整数二元组 $(v,k)$ 合法,当且仅当 $\sum_{j=0}^{k-1} v+j = a_i$。对于每个 $a_i$,设所有合法二元组的 $k$ 最大值为 $x_i$,将 $a_i$ 赋值为 $x_i$。
2 l r 求区间 $[l,r]$ 的和。
1 l r 对于区间 $[l,r]$ 中的每个数 $a_i$,定义一个正整数二元组 $(v,k)$ 合法,当且仅当 $\sum_{j=0}^{k-1} v+j = a_i$。对于每个 $a_i$,设所有合法二元组的 $k$ 最大值为 $x_i$,将 $a_i$ 赋值为 $x_i$。
2 l r 求区间 $[l,r]$ 的和。
输入
输入共 $m+2$ 行。
第一行两个整数 $n,m$,含义如题所示。
第二行 $n$ 个整数,表示序列 $a$。
接下来 $m$ 行,每行一个操作,$l,r$ 均为整数。
对于 $100\%$ 的数据,$1 \leq l\le r\le n\leq 5\times 10^4$,$1\le m \le 10^5$,$1 \leq a_i \leq 10^7$。
第一行两个整数 $n,m$,含义如题所示。
第二行 $n$ 个整数,表示序列 $a$。
接下来 $m$ 行,每行一个操作,$l,r$ 均为整数。
对于 $100\%$ 的数据,$1 \leq l\le r\le n\leq 5\times 10^4$,$1\le m \le 10^5$,$1 \leq a_i \leq 10^7$。
输出
对于每个 $2$ 操作,每行输出一个整数表示答案。
样例输入 复制
3 2
1 7 6
1 1 3
2 1 3
样例输出 复制
6
提示
第一个操作把序列变成 $1,2,3$。
$a_1$ 的二元组是 $(1,1)$,$1=1$,$x_1=1$。
$a_2$ 的二元组是 $(3,2)$,$7=3+4$,$x_2=2$。
$a_3$ 的二元组是 $(1,3)$,$6=1+2+3$,$x_3=3$。
第二个求和操作答案就是 $1+2+3=6$。
$a_1$ 的二元组是 $(1,1)$,$1=1$,$x_1=1$。
$a_2$ 的二元组是 $(3,2)$,$7=3+4$,$x_2=2$。
$a_3$ 的二元组是 $(1,3)$,$6=1+2+3$,$x_3=3$。
第二个求和操作答案就是 $1+2+3=6$。