given an array $$$a$$$ of length $$$n$$$, you have to answer $$$m$$$ queries:
- decrease the numbers greater than $$$x$$$ by $$$x$$$ in the interval $$$[l,r]$$$
- count the occurrence of $$$x$$$ in the interval $$$[l, r]$$$
i have no progress so far.
given an array $$$a$$$ of length $$$n$$$, you have to answer $$$m$$$ queries:
i have no progress so far.
| # | User | Rating |
|---|---|---|
| 1 | Benq | 3676 |
| 2 | jiangly | 3670 |
| 3 | Kevin114514 | 3657 |
| 4 | maroonrk | 3355 |
| 5 | Um_nik | 3353 |
| 6 | squareOf105 | 3346 |
| 7 | tourist | 3343 |
| 8 | strapple | 3324 |
| 9 | heuristica | 3322 |
| 10 | jiangbowen | 3291 |
| # | User | Contrib. |
|---|---|---|
| 1 | Qingyu | 158 |
| 2 | nik_exists | 150 |
| 2 | maspy | 150 |
| 4 | AmShZ | 143 |
| 5 | Um_nik | 141 |
| 6 | Errichto | 139 |
| 7 | adamant | 137 |
| 8 | BledDest | 133 |
| 8 | maroonrk | 133 |
| 10 | qwexd | 130 |
| Name |
|---|



I suggest you actually mean the following?
You should frame the question better, 1.are the changes permanent,2.is x constant throughout the queries?
i think you can use sqrt decomposition to solve in $$$\mathcal{O}(n \sqrt{n} \log{n})$$$
basically, turn the array into blocks of size $$$\sqrt{n}$$$. in each block, store a map for $$$(\text{val}, \text{freq})$$$
updates: for each block, either lazily add +x to the entire block, or update specific elements.
queries: just iterate thru each block and add relevant values. we can handle stuff that isn't in a complete block separately