Напоминаю, что сегодня (10.11.2012) в 18:00 по Москве состоится второй контест хорватской олимпиады по информатике. Залогиниться/зарегистрироваться можно тут. Продолжительность: 3 часа. Удачи!
№ | Пользователь | Рейтинг |
---|---|---|
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 | 156 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
9 | nor | 153 |
Напоминаю, что сегодня (10.11.2012) в 18:00 по Москве состоится второй контест хорватской олимпиады по информатике. Залогиниться/зарегистрироваться можно тут. Продолжительность: 3 часа. Удачи!
Название |
---|
Как решать 4ую?
Отсортируем все блюда по неубыванию обычной цены (**B**). Предподсчитаем 3 массива:
Рассмотрим 2 случая:
sum[k] - maxD[k]
sum[k-1] + minA[k]
Выберем минимум из этих вариантов — это и будет ответом для текущего k.
Третья уже была :)
Anyone has idea for problem 6? It looks like we have to maintain a set of slopes to calculate the queries, but I can't find an effective way to add a new slope since the profit values are not monotonous.
The trick is to find a way to reduce number of times you have to rebuild the hull.
Как решать 5ую задачу?
Сделаем паросочетания цифра — место. Каждое наблюдение делает 2 вещи. Если мы знает что на одном отрезке минимальное число Х, то во-первых, на этом отрезке числа могут быть только от X до N-1, а во-вторых число X может быть только на этом отрезке. Получаем матрицу из 1 и 0. Дальше можно делать всё, что угодно — макс. паросочетания, Венгерка и.т.п.
Матрицу можно получить следующим образом: будем считать "во-первых" и "во-вторых" отдельно. "Во-первых": сначала пробежимся по наблюдениям, и посчитаем, какие числа могут на этим месте быть. Заметим, что это отрезок. Соответственно, обновлять можем за O(M*N) — для каждого наблюдения пробежаться по каждому месту. Потом обновим матрицу "во-вторых": для каждого наблюдения возьмём "пограничное" число и обнулим его вне допустимого отрезка. O(M*N). Итого, получили матрицу.
Just published Results.