P7334 [JRKSJ R1] 吊打

题目描述

给出 $n,m$ 表示有 $n$ 个数,$m$ 次操作,$a_i$ 表示序列中第 $i$ 个数。 你需要写一种数据结构,支持两种操作: - `1 l r`,表示将所有 $i\in[l,r]$,将 $a_i\gets\left\lfloor\sqrt{a_i}\right\rfloor$。 - `2 l r`,表示将所有 $i\in[l,r]$,将 $a_i\gets{a_i}^2$。 最后需要输出 $\sum_{i=1}^na_i$ 表示你维护了这个序列。

输入格式

输出格式

说明/提示

对于 $5\%$ 的数据,$1\le n,m\le10$。\ 对于另外 $5\%$ 的数据,保证一次 `1 l r` 操作上一步是 `2 l r`。\ 对于另外 $5\%$ 的数据,保证只有 `1` 操作。\ 对于另外 $5\%$ 的数据,保证只有 `2` 操作。\ 对于另外 $5\%$ 的数据,保证所有的 $l=1$,$r=n$。\ 对于另外 $5\%$ 的数据,$1\le n,m\le10^3$。\ 对于 $100\%$ 的数据,$1\le a_i\le 10^9$,$1\le n,m\le2\times10^5$。 我们对于测试点 $7$ 至 $20$ 采用捆绑测试。 #### 样例 2 解释 | 时刻 | 序列 | | :----------: | :----------: | | $0$ | $[1,2,3,4]$ | | $1$ | $[1,1,1,2]$ | | $2$ | $[1,1,1,4]$ |