Автор I_love_Hoang_Yen, 11 лет назад, По-английски

Today I came across this article, in which "Peter Norvig said that one thing that was surprising to him was that being a winner at programming contests was a negative factor for performing well on the job".

Normally I don't care about these topics, but this is from Google — where they have good population of high rated competitive programmers and the claim is backed with data.

The article mentioned one point: "programming contest winners are used to cranking solutions out fast and that you performed better at the job if you were more reflective and went slowly and made sure things were right". Though I don't think this is true. For example, being competitive programmer taught me:

  1. bugs can be everywhere & we must code carefully
  2. many problems have amazing solutions, and it's not a good idea to start coding anything that comes to mind.

Some comments talked about how competitive programmers write unmaintainable code or appear arrogant. Having lots of friends who are competitive programmers and read lots of comments here, I believe that these are also not the case.

  • Yes, amongst rude comments made on Codeforces, many are from reds, but many are also from yellows, purples, blues, greens... and I think majority of high rated people here are very reasonable & nice.
  • I think most people have some moments when we come back to read our old code writen in contests, and have no idea what we did. Since we've been there, it's not natural to think that we would write such code when we know that we need to maintain them.

I understand that the points I made above are probably biased. So what do you think? Do you believe that being good competitive programmer correlates negatively with being good on the job?

Полный текст и комментарии »

  • Проголосовать: нравится
  • +380
  • Проголосовать: не нравится

Автор T-D-K, 11 лет назад, По-русски

Собственно вот сабж: http://geektimes.ru/post/248580/

Цитата с GeekTimes:

"Если вы хотите построить успешную карьеру в сфере разработки ПО, ни в коем случае не увлекайтесь спортивным программированием и участием в конкурсах.

Такой вывод следует из беспристрастной статистики и дата-майнинга рабочих показателей сотрудников Google, рассказал Питер Норвиг в лекции, прочитанной 26 марта 2015 года в Венском техническом университете.

Питер Норвиг (Peter Norvig) — директор по исследованиям в Google, советник Ассоциации по улучшению искусственного интеллекта, автор одного из самых популярных вузовских учебников по ИИ.

Вообще-то, лекция “How Computers Learn” тоже посвящена вопросам искусственного интеллекта и обучению компьютеров. Среди прочего, Питер Норвиг рассказал, как Google использует машинное обучение для найма новых сотрудников и оценки работы разработчиков.

Дата-майнинг позволил определить, какие факторы коррелируют с успешной работой сотрудника. Большим удивлением для Норвига стало то, что победы в конкурсах спортивного программирования негативно коррелируют с успехами в повседневной работе.

Питер Норвиг видит причину в том, что участников конкурсов тренируют решать проблемы как можно быстрее, в то время как успех на рабочем месте требует более вдумчивой и медленной работы."

На работе надо мной уже начали прикалываться.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +139
  • Проголосовать: не нравится

Автор viktork, 12 лет назад, По-русски

Привет, Codeforces!

Задачи сегодняшнего раунда были предложены вам пользователями roosephu и Sunayuki. Большую помощь в подготовке задач оказали Aksenov239, GlebsHP и команда Codeforces. В составлении и оформлении условий участвовали сотрудники компании ZeptoLab.

Вас ждет плавная динамическая стоимость задач (с шагом в 250 баллов).

В 2014 году мы провели свой первый контест по спортивному программированию совместно с Codeforces, и нам понравилось!

Контест состоял из 6 задач, на решение которых отводилось 2,5 часа (ознакомиться с задачами прошлого года и даже попробовать свои силы в их решении вы можете по ссылке).

Конечно же, даже на сугубо программистском мероприятии мы остались верны себе, поэтому задачи были придуманы по мотивам наших игр, и, разумеется, мы их заботливо проиллюстрировали:

Zepto Code Rush 2014 побил действующие рекорды Codeforces по популярности раундов, а задачи понравились участникам. К слову сказать, первые 3 места заняли разработчки из России, что не может не радовать. Кое-кто из них даже приехал забрать призы в офис, где их ждала мини-экскурсия и гвоздь программы: конечно же, игра в гигантский Cut The Rope и наше стандартное корпоративное "озеленение" на входе (озеленением мы называем вручение welcome-kit, полного забавных вещиц нашего корпоративно-зеленого цвета).

Полный текст и комментарии »

  • Проголосовать: нравится
  • +886
  • Проголосовать: не нравится

Автор zeliboba, 12 лет назад, По-русски

Всем привет!

Компания AIM Fund поздравляет Codeforces с 5-летием! Поскольку многие наши сотрудники занимаются олимпиадным программированием, мы поддержали краудфандинг-кампанию Codeforces. Мы ценим то, чему мы здесь научились и благодарны за те приятные минуты, что мы провели решая интересные задачи. В течение месяца мы планируем провести свой раунд и постараемся порадовать вас хорошими задачами.

Наша компания занимается проп-трейдингом, ключевыми понятиями в нашей работе являются big data, low latency и high frequency. Команда состоит в основном из выпускников мехмата МГУ и МФТИ. Более подробную информацию можно прочитать на сайте aimfund.ru

Полный текст и комментарии »

  • Проголосовать: нравится
  • +360
  • Проголосовать: не нравится

Автор innopolis, 12 лет назад, По-русски

Привет, Codeforces!

Мы рады возможности поздравить вас с пятилетием! Codeforces — замечательная соревновательная и учебная площадка для всех тех, кто интересуется алгоритмами и структурами данных. Нам приятно поддержать Codeforces. Желаем процветать, радовать нас раундами и с нетерпением ждем интересных нововведений. Ура!

Пользуясь, обещанной возможностью рассказать о себе в посте, мы обращаемся к вам.

Недалеко от Казани появился новый российский город — Иннополис. Это проект международного уровня с ключевой специализацией на высокие технологии. Здесь идет создание экосистемы для привлечения лучших специалистов из области высоких технологий для рождения и реализации смелых инновационных идей, которые в дальнейшем станут основой инновационного развития России. Перспективная численность города — 150 000 человек.

Интеллектуальным ядром города стал IT-университет, который специализируется на подготовке высококвалифицированных кадров в области современных информационных технологий. Международный статус университета позволяет привлекать преподавателей из TOP-100 университетов мира для обучения студентов, а программы обмена дают возможность получать знания в ведущих IT-университетах мира:

  • Carnegie Mellon University (№3, QS World University Rankings by Subject 2014 — Computer Science & Information Systems)
  • ETH Zurich
  • Национальный университет Сингапура (National University of Singapore)
  • Университет Амстердама (University of Amsterdam, Нидерланды)
  • KAIST (Korea Advanced Institute of Science and Technology, Республика Корея)
  • Миланский политехнический университет (Polytechnic University of Milan, Италия)
  • Институт EURECOM (Франция)

В этом году Университет Иннополис проводит отбор талантливых студентов IT-специальностей на учебные программы бакалавриата (3-4 курс) и магистратуры. Всё обучение проходит на английском языке и по окончании Университет гарантирует выпускникам трудоустройство в компаниях-партнерах. При успешном прохождении отбора студент получает грант, который покрывает до 100% стоимости обучения. Студенты Университета живут на территории современного кампуса и получают стипендию от 12 до 36 тысяч рублей в месяц.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +23
  • Проголосовать: не нравится

Автор mfv, 12 лет назад, По-русски

UPD Приём заявок завершён. С момента публикации статьи к проекту присоединились более 150 участников. Если кто-то подавал заявку по почте и не получил ответ — свяжитесь со мной через личные сообщения codeforces.

Вы всё ещё в div2, но мечтаете попасть в div1? Учёба занимает много времени, и олимпиадные задачи получается решать редко? Чувствуете, что постоянно решаете простые задачи, но никак не продвигаетесь к решению сложных?

Если Вы ответили “Да” на любой из этих вопросов, и хотите изменить текущую ситуацию, тогда эта статья для Вас!

Прочитав её, Вы узнаете

  • какие особенности человеческой психики можно использовать для оптимизации процесса тренировок;

  • какие конкретные шаги Вы можете предпринять, чтобы начать использовать эти особенности.

Знакомая ситуация в течение года: учёба и другие дела занимают много времени, после них хочется отдохнуть, в результате трудно выкроить время на решение олимпиадных задач.

Знакомая ситуация сразу после олимпиады: эх, опять готовился к олимпиаде только последние 3 дня, а вот если бы весь год перед этим готовился — точно бы прошёл на Всерос.

Как же осуществить мечту о тренировках круглый год?

Можно использовать следующие особенности человеческой психологии:

 1. Легче начать выполнять работу, когда она кажется маленькой и простой.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +269
  • Проголосовать: не нравится

Автор Nickolas, 12 лет назад, По-русски

Язык этого раунда — Picat, во многом похожий на Prolog. Мы постарались подобрать задачи так, чтобы большинство из них было удобно решать с использованием декларативного подхода.

Традиционная программа A+B (числа A и B разделены пробелом) выглядит следущим образом:

main =>
  A = read_int(),
  B = read_int(),
  C = A + B,
  println(C).

Основной источник информации о языке — сайт http://picat-lang.org/. Используется версия 0.9.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +140
  • Проголосовать: не нравится

Автор fcspartakm, 12 лет назад, По-русски

Привет, Codeforces!

26 марта 2015 года в 19:30 MSK состоится очередной раунд Codeforces #297 для участников из второго дивизиона. Традиционно, участники из первого дивизиона приглашаются поучаствовать в соревновании вне конкурса.

Это мой уже третий Codeforces раунд, надеюсь, я вам еще не сильно надоел.

Хотелось бы сказать большое спасибо Максиму Ахмедову (Zlobober) за помощь в подготовке задач, Марии Беловой (Delinur) за перевод условий на английский, Михаилу Мирзаянову (MikeMirzayanov) за замечательные системы Codeforces и Polygon и за идеи некоторых задач, а также моим старинным друзьям Павлу Холкину (HolkinPV), Илье Лось (IlyaLos), Виталию Кудасову (kuviman) и Артуру Свечникову (ikar) за прорешивание задач и вычитывание условий.

Участникам будет предложено пять задач и два часа на их решение. Разбалловка будет объявлена позднее.

UPD Стоимость задач будет плавной динамической с шагом в 250 баллов. Подробнее об этом вы можете прочитать здесь. Задачи будут расположены в порядке предполагаемого возрастания сложности.

UPD2 Соревнование завершено! Спасибо всем кто участвовал!

UPD3 Разбор уже ждет вас здесь.

UPD4 Поздравляем победителей!

  1. cikofte
  2. fcspartakm_2
  3. stealife
  4. GITLER228
  5. alpq654321

Полный текст и комментарии »

  • Проголосовать: нравится
  • +175
  • Проголосовать: не нравится

Автор ashmelev, 12 лет назад, По-русски

Всем привет! Может быть, эта тема уже обсуждалась, но по запросу "random" ничего похожего на Codeforces не нашел.

Предыстория. Хотели с Сашей (demon1999) изучить декартово дерево. Для инициализации приоритетов рекомендуется использовать случайные числа, чтобы высота дерева не была очень большой. Соответственно, надо эти числа как-то получить. Я совсем не разбираюсь в структурах данных, поэтому не задумывался, насколько плохо будет дереву (и будет ли), если приоритеты нескольких вершин будут одинаковыми. Поэтому на всякий случай хотелось сделать их попарно различными (чего не гарантирует простое использование rand() при создании очередной вершины). Предложил следующий, "надежный" и "проверенный" метод — создать массив из N чисел, инициализировать его числами от 0 до (N-1) соответственно, применить к нему random_shuffle — и мы получим N различных ключей в случайном порядке.

История. Саша стала сдавать задачи и на практике оказалось, что в нескольких задачах такой подход достаточно стабильно приводит к вердикту Time Limit Exceeded, в то время как простейшая инициализация pr=rand() получала Accepted. Стало очень интересно, почему так происходит, да и вообще STL не склонен быть причиной каких-либо ошибок. После несложных исследований оказалось, что (возможно, не это причина TLE, но тем не менее) random_shuffle перемешивает массив не совсем случайным образом.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +437
  • Проголосовать: не нравится

Автор RussianCodeCup, 12 лет назад, По-русски

Всем привет!

Уже в эту субботу, 28 марта в 18:00 состоится первый квалификационный раунд Russian Code Cup 2015. Раунд продлится 2 часа. По итогам раунда 200 лучших выйдут в отборочный раунд, где сразятся за выход в финал.

Те, кому удача в субботу не улыбнется, а также те, кто по тем или иным причинам не смогут принять участие в раунде, смогут попробовать свои силы во втором отборочном раунде 25 апреля в 12:00, а при необходимости и в третьем – 31 мая в 13:00. В отборочный тур, назначенный на 13:00 14 июня, пройдут 200 лучших участников из каждого квалификационного раунда.

Для того чтобы принять участие в Russian Code Cup, нужно зарегистрироваться на сайте http://russiancodecup.ru/ (регистрация будет открыта до начала третьего квалификационного раунда).

Подробнее о чемпионате, правилах и призах и читайте на сайте http://russiancodecup.ru, по всем вопросам обращайтесь на [email protected]

Приглашаем всех принять участие в квалификационном раунде Russian Code Cup и желаем всем удачи!

Полный текст и комментарии »

  • Проголосовать: нравится
  • -42
  • Проголосовать: не нравится