Вход
×

Как найти самую крутую работу ? Участвуй в чемпионате мира по программированию

07 Июль 2015 в 14:53
Как найти самую крутую работу ? Участвуй в чемпионате мира по программированию
На днях я оказался на очень значительном и почти секретном международном мероприятии. Вы не найдете в интернете его фотографий, кроме вручения кубка или в лучшем случае общих планов, хотя проходит оно аж с 1977 года. Даже не пытайтесь угадать что это, не заглядывая под кат, – год проведения первого чемпионата обязательно собьет вас с толку.
  
brains01
 
1. Спортивная арена. Сто двадцать команд. Зрители. Две телекамеры онлайн-трансляции. И... абсолютная тишина все пять часов.
  
brains02
 
2. Никакого экшена, только невероятная мыслительная работа.
  
brains03
 
3. Сложно представить, как эти соревнования проходили 37 лет назад. Арифмометр "Феликс", логарифмическая линейка и карандаш с листом бумаги? ЭВМ в то время были размером с дом или комнату.
  
brains04
 
4. Это финал международного командного чемпионата мира по программированию ACM ICPC. Впервые за всю историю, он проходил в России.
  
brains05
 
5. Это самое крутое в мире командное соревнование программистов.
  
brains06
 
6. 35 тысяч участников из 2322 университетов 91 страны боролись за то, чтобы попасть в этот зал и решить 11 сложных алгоритмических задач.
  
brains07
 
7. Это лучшие молодые мозги мира.
  
brains08
 
8. Несмотря на то, что они еще учатся в университетах, все, кто дошел до финала, уже трудоустроены.
  
brains09
 
9. Следить за ними начинали класса с шестого, когда они побеждали на своей первой олимпиаде по программированию.
  
brains10
 
10. Им уже гарантированы зарплаты от 120 тысяч долларов в год и доли акций в компаниях.
  
brains11
 
11. И совсем не обязательно, что эти компании будут иностранными.
  
brains12
 
12. У нас им будут платить не меньше, чем на западе. Да и мотивация у таких людей совсем другая.
  
brains13
 
13. Они уже принадлежат всему миру. Существует очень немного компаний, которые могли бы постоянно загружать задачами программистов такого уровня.
  
brains14
 
14. Они очень сложные люди. Акции компании могут рухнуть на миллионы долларов, если ее покинут главные разработчики. Им трудно создать условия для работы и почти нереально собрать коллектив, в котором бы они смогли трудиться.
  
brains15
 
15. Их ждут компании, которыми вы пользуетесь ежедневно - это Гугл, Фейсбук, Яндекс... И конечно в сложные и интересные стартапы. Работу в банках они считают "ниже плинтуса".
  
brains16
 
16. Но сама концепция чемпионата не предполагает охоту за сотрудниками. Тот же самый Яндекс, выступая официальным партнером ACM ICPC, даже не имел в зале никакой рекламной растяжки. Всех российских, украинских и белорусских ребят компания знает лично, благодаря своим академическим программам на которые за шесть лет потратила миллиард(!) рублей.
  
brains17
 
17. Главная цель другая - поддержать среду, в которой могут расти и развиваться талантливые ребята.
  
brains18
 
18.
 
brains19
 
19.
  
brains20
 
20.
  
brains21
 
21.
  
brains22
 
22. Шарики вручают за решенные задачи, а так же за другие заслуги типа "Первая команда, выполнившая задание F".
  
brains23
 
23. Через 5 часов эти ребята в черных футболках будут победителями. До этого, в разных составах, перербургская команда Национального исследовательского университета информационных технологий, механики и оптики (НИУ ИТМО) становилась чемпионами мира четыре раза.
  
brains24
 
24. Второе место заняла команда Шанхайского технического университета, третье – Токийский университет.
  
brains25
 
25. Для примера перевод одной задачи этого года. Оригинал естественно был на английском:
 
Недавняя рецессия больно ударила по развлекательным заведениям, в том числе и по игорному бизнесу. Среди казино идет жесткая конкуренция, и, чтобы привлечь игроков, некоторые из них стали проводить особенно привлекательные акции.
 
Акция казино включает следующее: вы можете играть столько, сколько хотите. И после того, как вы закончите, какую бы сумму вы ни проиграли с момента начала, казино возвращает х% ваших потерь. Естественно, если вы оказались в выигрыше, вы забираете его весь.
 
При этом нет ограничений ни на продолжительность игры, ни на количество денег, с которым вы вступаете в игру, но вы можете воспользоваться этой акцией только один раз.
 
Для простоты предположим, что все ставки стоят 1 доллар, а выигрыш составляет 2 доллара. Теперь допустим, что х равно 20. Если вы сделаете всего 10 ставок, перед тем как закончить игру, и только 3 из них выиграют, то ваши общие потери составят 3,2 доллара. Если 6 ставок выиграют, то ваш выигрыш составит 2 доллара.
 
Даны x и p (вероятность выигрыша единичной ставки в процентах), вам требуется написать программу для определения максимального ожидаемого выигрыша, который вы можете получить, используя любую стратегию игры.
 
Входные данные состоят из одного теста, который содержит процент возврата х (0 ≤ х <100) и вероятность выигрыша в процентах p (0 ≤ p <= 50). x и p имеют не более двух цифр после запятой.
 
Выведите максимальный ожидаемый выигрыш с абсолютной погрешностью не более 10 -3
  
brains26
 
26. Для тех, кто знает основы теории вероятностей и умеет программировать задачка может показаться простой, но это не так - при приближении параметров к допустимым границам возникают серьезные проблемы...
  
brains27
 
27. Вот как описал чемпионат Алексей Дергунов из команды Самарского государственного аэрокосмического университета, занявшей 35 место:
 
В начале контеста мы сильно растерялись. Я и craus очень долго думали над задачей F — мы сдали ее под занавес первого часа, по пути отсеяв несколько неверных решений и написав то, к которому не получилось придумать контрпример. Затем мы решали задачу D. Не понимая, как ее делать, Hohol распечатал ответы на первые несколько тестов, но ничего не извлек. Потом я вспомнил задачу с тимуса и написал точно такой же перебор — оказалось, что кандидатов на ответ порядка 50 тысяч (конечно, порядочный ACM-щик должен знать, что их мало, но мы такими не являемся), так что работает прекальк. Дальше подоспели решения задач A и H, которые пришлось немного подебажить, так как писать с первого раза мы так и не научились. Затем мы решили задачу C: сабмит в 3:5x был уже правильным, но TL-ным: команда из трех желтых участников не умеет писать maxflow и поэтому копипастит его с Team Reference, где есть лишь алгоритм Диница, да еще и с кучей ArrayList-ов. Заменив все ArrayList-ы на массивы, мы сразу же получили Accepted. Оставалось немногим более получаса, мы решили, что не умеем решать J за это время (задача, надо сказать, очень противная, из тех, что я особенно ненавижу — куча тупейшей бессмысленной реализации), и поэтому попытались решить B, но, как оказалось, надо было решать специфическую системку уравнений за O(1), как когда-то учили на третьем курсе (на самом деле приятная неожиданность — знания, полученные и успешно забытые в универе, оказались нужными в ACM ICPC!)
  
brains28
 
28.
  
brains29
 
29.
  
brains30
 
30.
  
brains31
 
31.
 
brains32
 
32.
  
brains33
 
33.
  
brains34
 
34.
  
brains35
 
35.
 
brains36 
 36.
 
brains37
 
37. На следующий день после финала министр обороны России Сергей Шойгу поручил разыскать(!) петербургских студентов, пять раз становившихся чемпионами мира по программированию, чтобы укомплектовать создающиеся в российской армии научные роты. Михаил Кевер, Нияз Нигматуллин и Геннадий Короткевич, доучивайтесь и держитесь от министра подальше. Вы заслуживаете большего, чем набивать школьные рефераты сыну начальника части.

При поддержке: