[ABC256Ex] I like Query Problem
题意翻译
给定 $ n, q $,和序列 $ a_n $,给定 $ q $ 次操作,有三种:
`1 L R x`:对于 $ [L, R] $ 内的所有 $ i $ 进行 $ a_i \leftarrow \lfloor \dfrac{a_i}{x} \rfloor $。
`2 L R y`:区间推平 $ [L, R] $ 为 $ y $。
`3 L R`:输出 $ \sum_{i = L}^R a_i $。
题目描述
[problemUrl]: https://atcoder.jp/contests/abc256/tasks/abc256_h
$ N,\ Q $ および $ A\ =\ (a_1,\ a_2,\ \dots,\ a_N) $ が与えられます。
以下で説明されるクエリを $ Q $ 個処理してください。クエリは次の $ 3 $ 種類のいずれかです。
- `1 L R x` : $ i=L,L+1,\dots,R $ について $ a_i $ の値を $ \displaystyle\ \left\lfloor\ \frac{a_i}{x}\ \right\rfloor $ に更新する。
- `2 L R y` : $ i=L,L+1,\dots,R $ について $ a_i $ の値を $ y $ に更新する。
- `3 L R` : $ \displaystyle\sum_{i=L}^R\ a_i $ を出力する。
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる。ここで$ \text{query}_i $ は $ i $ 番目に処理するクエリである。
> $ N $ $ Q $ $ a_1 $ $ a_2 $ $ \dots $ $ a_N $ $ \text{query}_1 $ $ \text{query}_2 $ $ \vdots $ $ \text{query}_Q $
各クエリは以下の $ 3 $ 種類のいずれかの形式で与えられる。
> $ 1 $ $ L $ $ R $ $ x $
> $ 2 $ $ L $ $ R $ $ y $
> $ 3 $ $ L $ $ R $
输出格式
問題文の指示に従ってクエリへの答えを改行区切りで出力せよ。
输入输出样例
输入样例 #1
3 5
2 5 6
3 1 3
1 2 3 2
3 1 2
2 1 2 3
3 1 3
输出样例 #1
13
4
9
输入样例 #2
6 11
10 3 5 20 6 7
3 1 6
1 2 4 3
3 1 3
2 1 4 10
3 3 6
1 3 6 2
2 1 4 5
3 1 6
2 1 3 100
1 2 5 6
3 1 4
输出样例 #2
51
12
33
26
132
说明
### 制約
- $ 1\ \leq\ N\ \leq\ 5\ \times\ 10^5 $
- $ 1\ \leq\ Q\ \leq\ 10^5 $
- $ 1\ \leq\ L\ \leq\ R\ \leq\ N $
- $ 1\ \leq\ a_i\ \leq\ 10^5 $
- $ 2\ \leq\ x\ \leq\ 10^5 $
- $ 1\ \leq\ y\ \leq\ 10^5 $
- 入力される値はすべて整数
### Sample Explanation 1
はじめ、$ A\ =\ (2,\ 5,\ 6) $ です。よって $ 1 $ 番目のクエリの答えは $ a_1\ +\ a_2\ +\ a_3\ =\ 2\ +\ 5\ +\ 6\ =\ 13 $ になります。 $ 2 $ 番目のクエリを処理した直後は $ A\ =\ (2,\ 2,\ 3) $ です。よって $ 3 $ 番目のクエリの答えは $ a_1\ +\ a_2\ =\ 2\ +\ 2\ =\ 4 $ になります。 $ 4 $ 番目のクエリを処理した直後は $ A\ =\ (3,\ 3,\ 3) $ です。よって $ 5 $ 番目のクエリの答えは $ a_1\ +\ a_2\ +\ a_3\ =\ 3\ +\ 3\ +\ 3\ =\ 9 $ になります。