Всем добрых суток! Сегодня решил порешать задачи на структуры данных. Встретил задачу на Фенвика. Надо найти количество вхождении числа x в отрезке от 1 до i и от i+1 до n. Помогите чем сможете. Заранее спасибо. Задача здесь.
Всем добрых суток! Сегодня решил порешать задачи на структуры данных. Встретил задачу на Фенвика. Надо найти количество вхождении числа x в отрезке от 1 до i и от i+1 до n. Помогите чем сможете. Заранее спасибо. Задача здесь.
| № | Пользователь | Рейтинг |
|---|---|---|
| 1 | Benq | 3792 |
| 2 | VivaciousAubergine | 3647 |
| 3 | Kevin114514 | 3603 |
| 4 | jiangly | 3583 |
| 5 | turmax | 3559 |
| 6 | tourist | 3541 |
| 7 | strapple | 3515 |
| 8 | ksun48 | 3461 |
| 9 | dXqwq | 3436 |
| 10 | Otomachi_Una | 3413 |
| Страны | Города | Организации | Всё → |
| № | Пользователь | Вклад |
|---|---|---|
| 1 | Qingyu | 157 |
| 2 | adamant | 153 |
| 3 | Um_nik | 147 |
| 4 | Proof_by_QED | 146 |
| 5 | Dominater069 | 145 |
| 6 | errorgorn | 141 |
| 7 | cry | 139 |
| 8 | YuukiS | 135 |
| 9 | TheScrasse | 134 |
| 10 | chromate00 | 133 |
| Название |
|---|



Можно решить ДО.
Посчитай массив cntback[i], количество чисел от i до n, таких, что они равны a[i]. Это можно сделать так:
Теперь, ты просто пробегаешься циклом от 1 до n, и считаешь вхождение каждого числа от 1 до i. Это можно сделать так:
Теперь, как посчитать это количество? ДО.
Когда считаем cntback, сразу обновляем его в ДО:
Это значит, что мы обновляем элемент в дереве с индексом cntback[i], увеличиваем его на 1.
Теперь, подсчет выглядит так: