Category: общество

Category was added automatically. Read all entries about "общество".

37-ой Финал ACM ICPC завершился

Поздравляю команду НИУ ИТМО с победой в 37-м Финале ACM ICPC — самом престижном чемпионате по программированию в мире! Теперь Национальный Исследовательский Университет ИТМО является пятикратным чемпионом мира по программированию. Это больше, чем любой другой вуз за всю историю, да еще и с отрывом.

WF 2013 Logo Отдельное спасибо всем сотрудникам и волонтерам ИТМО, которые участвовали в организации этого мероприятия. Нет таких слов, которые могли бы полностью выразить мою благодарность. Вы лучшие! Чемпионат никогда еще не проводился в таком масштабе и с таким размахом, на таком высоком уровне подготовки. Еще никогда в истории чемпионата не было такой слаженной, профессиональной и ответственной команды волонтеров. Вы превзошли все ожидания. Благодаря вашей самоотверженной работе этот чемпионат вошел в историю. Каждый из вас может гордиться своей ролью в этом поистине историческом событии. Я горжусь, что мне довелось работать с вами.

Вы задали высокую планку для всех, кто будет проводить Финалы ACM ICPC в будущем. На вас теперь будут равняться все принимающие Финал Соревнований вузы. Вы доказали, что целеустремленность, умение быстро решать возникающие проблемы и командный дух, то есть все те навыки, которые требуются от участников ACM ICPC и ценятся в ИТМО, позволяют добиваться фантастических успехов в жизни. You are standing in the Hall of Fame! Спасибо вам!

Соревнования и их результаты получили достойное освещение на телеканалах. Вот по этой ссылке можно посмотреть отличный репортаж о соревновании в целом и его результатах от ТВ Петербург. Collapse )

Sun Tech Days Day 1

Снова рассказал свой доклад про дизайн высокопроизводительных приложений. В этот раз на Sun Tech Days. Всё. Теперь надеюсь все кто хотел его послушать, уже послушали. Хотя народ подходил после доклада и спрашивал не планирую ли я опубликовать статью. Пока не думал. Не понятно куда лучше публиковать.

У меня в работе есть несколько новых оригинальных идей для докладов. Ждите анонсов на одной из будущих встреч JUG.

[topcoder SRM 251] Секрет успеха...

Очередной topcoder SRM 251 с неоспоримой очевидностью выявил важнейший элемент успеха в этих соревнованиях – самое главное для успеха это то, как быстро вы решаете самую сложную задачу. Если вы решаете её менее чем за 10 минут, то получаете почти 900 очков (всегда на 100 меньше возможного максимума из 1000), а если вы решаете её за 20 минут или меньше, то получаете всего около 700 очков. То есть за 10 минут лишнего торможения вы теряете еще 200 очков – столько же можно получить за решение простой задачки на 250 очков.

В этот раз я непозволительно долго решал самую сложную задачку (около 30 минут!). Я её в итоге решил, но оказался почти самым последним из тех, кто решил все три задачи – на 36-м месте. Это задачка требовала чуть-чуть нестандартного мышления. Само кодирование было простое, но для этого требовалось сначала придумать правильное решение. Я же ринулся кодировать еще не до конца проработав решение в голове.

Я вообще подметил за собой, что хорошо и быстро могу делать вещи, которым я знаю и которым меня научили еще в школе. А вот что-то незнакомое и нестандартное дается с бОльшим трудом. Интересно, это всегда так или так начинает происходить только с возрастом? А может просто в последнее время мне реже приходится сталкиваться с новыми вещами, и поэтому (с непривычки) они хуже воспринимаются? В этом смысле участие в topcoder как раз то, что мне нужно – интересное времяпровождение, которое позволяет не закиснуть мозгам.

[topcoder SRM 249] Урок по тактике поведения

Очередной topcoder SRM 249 оказался мне не по зубам. По общему результату я занял 89-е место (из ~220 человек участвовавших в Division I). Я обломался не столько из-за сложности задач (несмотря на то, что на второй задаче я сильно затупил), а из-за неумения правильно организовать свою работу в соревновании типа topcoder. В итоге мой рейтинг упал с 2041 до 2014. В общем есть еще чему поучиться.

Первую задачку я написал с нормальной для себя скоростью. А потом долго-долго искал в ней несуществующую багу. Только получив административный broadcast о том, что в условии задачки содержится ошибка (один из тестов неверный) я смог расслабится и послал свое [правильное] решение на сервер.

Оставалось уже не так много времени (минут 40-50) и тут я затупил на второй задаче. Затупил и всё тут (бывает). Не увидел как она сводится к задаче о топологической сортировке и не придумал ничего лучшего как написать перебор. Глупо было тратить на это время, ибо должно было быть очевидно, что вероятность прохождения перебора на такой задаче чрезвычайно мала. Надо было найти в себе решимость оставить эту задачу в покое (раз уж затупил) и приступать к следующей.

А следующая задача оказалась элементарной и стандартной (!) геометрией, вывести площадь выпуклой оболочки точек. При моей сегодняшней скорости написания задач мне потребовалось бы для её решения 15-20 минут. А у меня оставалось меньше 10-и. Кстати, многие из победителей этого соревнования не писали алгоритм поиска выпуклой оболочки, а взяли его из своих личных библиотек программ (это разрешено правилами). Вот оно - реальное преимущество большого опыта участия в этих соревнованиях. Будем набираться ;)

Кстати, после окончания соревнования организаторы еще долго мухлевали с тестами. Перетестировали все решения еще пару лишних раз. Похоже у них был какой-то битый тест, на котором некоторое люди ошибочно валились. После последнего перетестирования кто-то поднялся в таблице результатов, а я откатился с 88-го места на 89-е.

[topcoder SRM 248] "Поспешишь -- людей насмешишь" или "Лучшее -- враг хорошего"

Сегодня участвовал в topcoder SRM 248 и получил очередной жизненный урок.

Больше чем за полчаса до конца соревнования я написал решения всех задачек, благо ничего оригинального в них не было. После этого я расслабился на некоторое время (типа "что еще делать?"), но потом решил что если время еще остается, то надо всё перепроверить. И тут мне показалось, что мое решение 1000-очковой задачи сломается на пограничных тестах из-за выхода за границу массива. Я быстро исправил решение (увеличил границы) и перепослал его (потерянное время плюс 10% пенальти за перепосылку). И только после этого я сел и попытался сконструировать пограничный тест на котором мое оригинальное решение должно было сломаться (как мне казалось). Запускаю его, а оно работает правильно. Поле дополнительных раздумий я пришел к выводу что в моем оригинальном решение всё было абсолютно верно и я исправлял несуществующую ошибку.

Если бы я не торпился, а всё бы детально перепроверил, то не потярял бы очков и оказался бы в десятке победителией на этом соревновании. А так у меня 22-ое место. А с комнатой, в которую меня определи, мне не повезло. Кроме меня там оказалось еще два сильных участника. И не смотря на мое общее 22-ое место и тот факт что участники были раскиданы по 33-м комнатам (рекордная популярность соревнования!) я занял только 3-е место в своей комнате. Выиграл $44. А мог бы выиграть $109, если бы повезло с комнатой.

Кстати, для тех кто еще ни разу не участвовал в topcoder, это соревонование и еще два следующюих за них (которые идут при спонсорстве Citigroup) дают халявный способ заработать немого денег. При вашем первом участии вас размещают в Division II, в котором обычно очень простые задачки и толпы людей которые вообще не умеют программировать. Когда я участвовал первый раз, то в своей комнате я был единственным кто решил все три задачи, тогда как все остальные решили только по одной.