Пытаюсь решить задачу (http://informatics.mccme.ru/moodle/mod/statements/view.php?chapterid=111790#1)...Пока безуспешно Как ее решить?
№ | Пользователь | Рейтинг |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3823 |
3 | Benq | 3738 |
4 | Radewoosh | 3633 |
5 | jqdai0815 | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | ksun48 | 3390 |
10 | gamegame | 3386 |
Страны | Города | Организации | Всё → |
№ | Пользователь | Вклад |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 157 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
9 | nor | 153 |
Пытаюсь решить задачу (http://informatics.mccme.ru/moodle/mod/statements/view.php?chapterid=111790#1)...Пока безуспешно Как ее решить?
Название |
---|
клик
Спасибо...Можете объяснить идею?
Сортируешь все значения, потом для каждого не использованного бинпоиском ищешь людей с шагом большим D. Так, например, для первого сэмпла возьмем студента, находящегося на позиции 1, от него на расстоянии >= D + 1 находится студент в позиции 11, тогда даем ему тот же вариант и повторяем действие от него.
Будем действовать жадно, отсортируем всех студентов по позиции на оси X.
Допустим мы рассматриваем
i
-го студента и знаем оптимальный ответ дляi-1
его предшественников. Можно проверить подходит ли нам один из этих билетов, если подходит -- отлично берем его, если нет, то добавляем новый билет.Асимптотика: O(N ^ 2).
Код: link.
P.S. Не сложно довести асимптотику до O(N log(N)) путем добавления структуры данных умеющей находить минимум(например set).
Наверное меня не одного волнует вопрос, зачем создавать новую учетную запись для создания такого поста?
Вы кого-то боитесь?)