№ | Пользователь | Рейтинг |
---|---|---|
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 | 164 |
1 | maomao90 | 164 |
3 | Um_nik | 163 |
4 | atcoder_official | 160 |
4 | adamant | 160 |
6 | -is-this-fft- | 158 |
7 | awoo | 157 |
8 | TheScrasse | 154 |
8 | Dominater069 | 154 |
8 | nor | 154 |
Название |
---|
Лаконично.
Заметил интересную фичу — если во время challenge phase попытаться скомпилировать код по задаче, по которой у меня в таблице compiled, то я не только получу сообщения о том, что компилировать нельзя, но и статус в таблице изменится на opened.
Это что, так можно прятать различную бредятину, которую написал во время раунда, но не отослал? Ведь все comliled можно смотреть на сайте.
Ну я так понимаю, что можно будет узнать ответ как только этот раунд будет добавлен на сайт. :D
Облом, на сайте все пучком.
Как решать вторую в div 1?
Я делал так. Во-первых, понятно, что можно считать, что в каждой паре xi < yi и ничего вращать нельзя. Теперь найдём минимум по x и минимум по y. Они либо в одной корзине, либо в разных. Если в одной — то надо просто выбрать N штук для второй, максимизируя площадь (это делается сортировкой по x, проходом в этом порядке и поддержанием set'а по y). Если в разных — то надо опять же посортить по x, перебрать, какой x пойдёт к минимальному y, тогда получается, что к минимальному x пойдут все x меньше этого + сколько-то с x не меньше этого (из них надо выбирать максимальные y, ясное дело). Это тоже считается проходом с set'ом.
Upd. Правда, оно у меня упало на каком-то хитром тесте, видимо, руки у меня кривые :)
Пускай X[i] <= Y[i]. Отсортируем пары по X.
Если у нас была бы одна куча, то ответ: X[0] * min(Y[i]).
Кучи две. Зафиксируем прямоугольник в каждой куче с самым мелким X. Первый — это 0, а по второму будем перебирать — пускай это будет i.
Тогда ответ будет: X[0] * min(Y в первой куче) + X[i] * min(Y во второй куче). По нашему определению, все прямоугольники 1..i-1 идут в первую кучу. То есть, 1 <= i <= N. Осталось разобраться с остальными i+1..2*N-1 прямоугольниками. Назовём Z такой прямоугольник из i+1..2*N-1, что его Y минимален. Тогда есть 2 варианта куда он пойдёт:
min(Y в 0..i-1) можно преподсчитать, Z можно находить итерируя, а k-ое наименьшее/наибольшее число можно искать либо деревом отрезков, либо бинарными кучами.
Ну и надо аккуратно написать, не завалившись на всяких пограничных случаях (i = N, N = 1 и.т.п.).
Не могли бы подсказать ссылку с обсуждением раунда на TopCoder? А то оно в сообщении появилось и я его успешно закрыл.
Пожалуйста.
Фух, я уж испугался что unrated : )
А еще можно слева от чата и "Who's here" (под "Rating key") нажать "Messages". Там есть все сообщения.
Как решать 1000 див2?
кроме как этого я предложить не могу...
но вот как до этого дойти, самому интересно)
Однажды на этот сайт мы попали на какой-то олимпиадке следующим образом: написали очень медленный алгоритм, посчитали начало последовательности и просто вбили его в Google:)
да так и надо делать :) только можно сразу в оеис вбивать :)
жалко что такие задачи дают на контестах с интернетом... получается кто быстрее найдет ответ, тот в плюсе
Разве это не запрещено правилами? Не могу найти такого правила, поэтому спрашиваю.
Как скоро появится разбор на сайте?
Screencast