№ | Пользователь | Рейтинг |
---|---|---|
1 | tourist | 3856 |
2 | jiangly | 3747 |
3 | orzdevinwang | 3706 |
4 | jqdai0815 | 3682 |
5 | ksun48 | 3591 |
6 | gamegame | 3477 |
7 | Benq | 3468 |
8 | Radewoosh | 3462 |
9 | ecnerwala | 3451 |
10 | heuristica | 3431 |
Страны | Города | Организации | Всё → |
№ | Пользователь | Вклад |
---|---|---|
1 | cry | 167 |
2 | -is-this-fft- | 162 |
3 | Dominater069 | 160 |
4 | Um_nik | 158 |
5 | atcoder_official | 156 |
6 | djm03178 | 153 |
7 | adamant | 152 |
8 | luogu_official | 149 |
9 | awoo | 147 |
10 | TheScrasse | 146 |
Название |
---|
Лаконично.
Заметил интересную фичу — если во время 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