Блог пользователя vepifanov

Автор vepifanov, 8 лет назад, перевод, По-английски

ACM ICPC World Finals 2016. Phuket, Thailand.

Harvard University team: Johnny Ho (random.johnnyh), Scott Wu (scott_wu), Calvin Deng (dnkywin), Jelani Nelson (coach) (Robert L. Walton, Coach). Team got 3rd place (gold medal) and became North America region Champions.

Main contest.

What is it? Scott Wu communicates with an outside adviser? Team has more than three participants?

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

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

Автор vepifanov, 8 лет назад, По-русски
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...

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

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

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

8 октября в 15:05 Мск состоится второй (финальный) раунд Intel Code Challenge.

Все пользователи Codeforces смогут принять в нём участие, как в обычном раунде. Обратите внимание на время начала раунда.

Для участников Intel Code Challenge.
В официальном зачете соревнования принимают участие финалисты (http://codechallenge.ipdnn.com/offsite), пишущие раунд на официальных площадках в Москве, Санкт-Петербурге, Нижнем Новгороде, Архангельске, Волгограде и Казани (http://codechallenge.ipdnn.com/onsite2).

Участники финала используют свои ноутбуки с доступом в интернет. По техническим причинам участники в Волгограде используют компьютеры принимающей организации.

Для участников раунда на Codeforces.
Для всех остальных пользователей Codeforces это будет обычный рейтинговый раунд. Раунд будет общим для обоих дивизионов.

Будут предложены 7 задач на русском и английском языках. Продолжительность раунда составит 3 часа. Разбалловка будет объявлена ближе к началу раунда.

Автор задач этого раунда я – Владислав Епифанов (vepifanov). Благодарю Алексея Шмелева (ashmelev), Александра Фетисова (AlexFetisov) и Владислава Исенбаева (winger) за прорешивание задач, координатора Codeforces Глеба Евстропова (GlebsHP) за помощь в подготовке раунда и Михаила Мирзаянова (MikeMirzayanov) за системы Codeforces и Polygon.

UPD. Разбалловка: 500-1000-1500-1500-2500-2500-2500. Поскольку раунд будет длиться 3 часа, то стоимости задач будут падать чуть медленнее чем в обычных раундах.

UPD. 2 Из-за возникших проблем в одном из мест проведения очного тура соревнования, старт раунда перенесён на 10 минут вперёд. Приносим извинения за доставленные неудобства.

Результаты Intel Code Challenge:

UPD. 3

Финальное обновление рейтинга произойдет после удаления из таблицы нечестных участников.

Разбор будет выложен в воскресенье, 9 октября.

UPD. 4

Позравляем победителей Intel Code Challenge во всех городах!

Надеемся, что все участники остались довольны нашим соревнованием.

UPD. 5

Абсолютный победитель Intel Code Challenge, набравший наибольшее количество баллов среди всех участников соревнования — Евгений Капун (eatmore)!

Разбор задач

UPD. 6

Фотографии с очного тура соревнования.

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

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

Автор vepifanov, 8 лет назад, По-русски
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...

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

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

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

1 октября в 17:05 Мск состоится отборочный раунд Intel Code Challenge. Официально в соревновании смогут принять участие ТОЛЬКО граждане РФ в возрасте от 18 до 27 лет. Все остальные пользователи Codeforces смогут принять в нём участие, как в обычном раунде.

Для участников Intel Code Challenge.
Для того, чтобы принять участие в Intel Code Challenge, необходимо ознакомиться с условиями проведения соревнования здесь http://codechallenge.ipdnn.com/ и здесь http://mirror.codeforces.com/blog/entry/47238 и зарегистрироваться в ДВУХ местах: здесь http://codechallenge.ipdnn.com/register и здесь http://mirror.codeforces.com/contests.

Для участников раунда на Codeforces.
Для всех остальных пользователей Codeforces это будет обычный рейтинговый раунд. Раунд будет общим для обоих дивизионов. Для участия в нем необходимо зарегистрироваться только в одном месте — во вкладке “Соревнования”.

Будут предложены 6 задач на русском и английском языках. Продолжительность раунда составит 2 часа. Традиционно, разбалловка будет объявлена ближе к началу раунда.

Автор задач этого раунда я – Владислав Епифанов (vepifanov). Благодарю Алексея Шмелева (ashmelev), Александра Фетисова (AlexFetisov) и Владислава Исенбаева (winger) за прорешивание задач, координатора Codeforces Глеба Евстропова (GlebsHP) за помощь в подготовке раунда и Михаила Мирзаянова (MikeMirzayanov) за системы Codeforces и Polygon.

UPD. Разабалловка: 500-500-1000-1500-2000-2500.

UPD 2.

Ниже, вы можете посмотреть текущие результаты Intel Code Challenge:

Если вы не нашли себя в таблице вашего города, хотя регистрировались по этой ссылке http://codechallenge.ipdnn.com/register, то после окончания контеста, пожалуйста отправьте ваши данные на эту почту — innl-schools@intel.com.

UPD 3.

Приношу свои извинения за задачу С. Мы решили несколько упростить эту задачу в последний момент, и так оказалось, что в такой формулировке она уже встречалась ранее.

В любом случае, надеюсь, что второй раунд пройдет лучше чем первый!

UPD 4. Разбор задач

По этой ссылке можно посмотреть места проведения очного раунда — http://codechallenge.ipdnn.com/onsite2.

На всякий случай напоминаю, что оплата проезда для участников до места проведения очного тура со стороны компании Intel не предусмотрена. В ближайшее время всем участникам, прошедшим в очный тур, будут разосланы письма с подтверждением и более подробной информацией о порядке проведения очного ура.

Ниже приведены списки участников, прошедших в очный тур соревнования:

Москва

ФИО Handle
Данилюк Алексей Олегович Um_nik
Смирнов Иван Федорович ifsmirnov
Ахмедов Максим Басирович Zlobober
Ипатов Михаил Михайлович LHiC
Дмитриев Алексей Сергеевич riadwaw
Тихомиров Михаил Игоревич Endagorion
Моисеев Борис Дмитриевич SkyHawk
Останин Александр Михайлович Kostroma
Омельяненко Виктор Алексеевич TeaPot
Линьков Евгений Викторович linjek
Краскевич Игорь Владимирович kraskevich
Остяков Павел Александрович pavelost
Семенов Константин Борисович zemen
Минаков Александр Олегович elshiko
Пособин Глеб Игоревич passick
Рухович Филипп Дмитриевич DPR-pavlin
Останков Александр Юрьевич aostankov
Кондранин Егор Сергеевич kondranin
Колупаев Михаил Владимирович al13n
Кузьмичев Дмитрий Андреевич kuzmichev_dima
Киян Сергей Олегович sokian
Хадаев Константин Алексеевич khadaev
Голованов Александр Игоревич Golovanov399
Иванов Михаил Александрович Misha100896
Кулагин Павел Сергеевич Qmant

Cанкт-Петербург

ФИО Handle
Пышкин Игорь Валерьевич -XraY-
Гардер Антон Владимирович .tx
Белоногов Иван Константинович Belonogov
Будин Николай Алексеевич budalnik
Жидков Николай Васильевич ZhNV
Смыкалов Владимир Павлович enot110
Латышев Алексей Сергеевич alex700
Макаров Владислав Маратович Kaban-5
Горохов Никита Дмитриевич wackloner
Гуликов Антон Александрович scorpion
Логунов Александр Евгеньевич el_sanchez
Збань Илья Константинович izban
Сайранов Айдар Дамирович aid
Банкевич Сергей Викторович Sergey.Bankevich
Капун Евгений Дмитриевич eatmore
Симонов Кирилл Алексеевич Seemann
Степанов Всеволод Андреевич Tehnar
Зуев Михаил Алексеевич MZuev
Савченков Павел Александрович pavel.savchenkov
Коваленко Игорь Николаевич IgorKoval
Подгузов Никита Владимирович Nikitosh
Богомолов Егор Олегович egor_bb
Смирнов Даниил Олегович Denzed
Самойлов Валерий Сергеевич Sammarize
Немченко Евгений Дмитриевич n.eugene

Нижний Новгород

ФИО Handle
Калинин Николай Андреевич KAN
Белошапко Георгий Алексеевич ordcoder
Кривоносов Михаил Игоревич mike_live
Юнович Станислав Олегович k1nval
Савинов Сергей Викторович StarCuriosity
Наумов Андрей Владимирович softmob
Шилов Вадим Сергеевич shilov
Коровин Алексей Валерьевич Mavzes
Баландин Илья Алексеевич Ilya_
Матросов Михаил Валерьевич mmatrosov
Сорокин Арсений Андреевич arsor
Смирнов Егор Олегович smirnov.egor.r
Филиппов Сергей Вениаминович SergFilippov
Сафонов Александр Юрьвеич akarilimano
Соловьев Дмитрий Евгеньевич dimsol
Камынин Иван Анатольевич justlovemepls
Путилов Андрей Владимирович Great-expectations
Дёгтев Александр Сергеевич AlexD
Полина Наталья Владимировна Polina_Natalya
Блинцов Сергей Дмитриевич SBlincov

Волгоград

ФИО Handle
Финютин Максим Владимирович HellKitsune
Сагунов Данил Георгиевич danilka.pro
Рипинен Алексей Александрович Perforator
Меркурьев Олег Андреевич Merkurev
Ким Вячеслав Юрьевич SlavaSSU
Лось Илья Викторович IlyaLos
Глазов Роман Владимирович Roms
Носов Артём Алексеевич temich
Агафонов Владислав Юрьевич Zool
Смирнов Олег Евгеньевич Oleg_Smirnov
Курылев Дмитрий Петрович DimonK
Кичатов Евгений Сергеевич Eugen
Пенской Никита Андреевич ShadowGorn
Дорогинин Вячеслав Михайлович slavyan900
Перетятько Никита Олегович koPerNik
Карпов Сергей Александрович Seraphim.v2
Титов Алексей Константинович ResQ
Марков Богдан Викторович MBogda

Казань

ФИО Handle
Безруков Денис Викторович pitfall
Ветров Алексей Александрович noxwell
Ямилов Рамис Рамилович RamTararam
Муравьёв Вячеслав Вячеславович Slamur
Барбанягра Владислав Александрович WhatIsLove
Голуб Олеся Александровна Taube
Лыжин Иван Александрович Vanek
Пономарев Егор Андреевич Petruchcho
Гайнитдинов Динар Маратович dinarisio
Жуманиёзов Алишер Равшонбекович AlisherZ
Контуров Дмитрий Алексеевич kontr
Петров Владимир Алексеевич Waldis
Газизов Артур Раянович 2oo7
Орешин Павел Евгеньевич NutZ
Фолунин Владимир Александрович CtrlAlt
Балакирев Константин Валерьевич kostya11
Серов Данил Юрьевич danilserov
Нигматуллин Ранис Нафисович Ranis
Кирилл Каймаков Kirundel
Савельев Никита Олегович defias
Мусин Рустам Идрисович jvmusin
Колсанов Денис Валерьевич deniskolsanov
Богданов Артур Ринатович Dragon116rus
Голяндин Юрий Николаевич ZUBAT
Хуснутдинова Зиля Ильгизовна KhZi

Архангельск

ФИО Handle
Попович Иван Владимирович NVAL
Дергачёв Евгений Иванович dergach
Гурьев Тимур Андреевич ijnhtrgdew
Асютченко Павел Юрьевич Svenny
Нугманов Тимур Шавкатович orotti
Кобзев Дмитрий Александрович GreenKiller
Пестов Сергей Алексеевич pestov-sa
Рудалев Константин Дмитриевич EclipseAltair
Шаршов Иван Юрьевич sinkapoy
Рудный Григорий Константинович yrog
Васюков Артём Олегович vaselkov

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

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

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

Независимо от того, официально вы будете участвовать в Intel Code Challenge или нет, участие в раундах на Codeforces будет открыто для всех. У всех участников будет пересчитан рейтинг.

Корпорация Intel проводит соревнование по программированию Intel Code Challenge (http://codechallenge.ipdnn.com/), приуроченное к крупной технологической партнерской конференции Intel Partners Day.

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

В соревновании могут принять участие граждане РФ в возрасте от 18 до 27 лет.

Соревнование будет проводиться на Codeforces в два раунда: заочный и очный.
Для того, чтобы принять участие в Intel Code Challenge, необходимо ознакомиться с условиями проведения соревнования и зарегистрироваться по ссылке http://codechallenge.ipdnn.com/register. Город, в котором вы реально сможете принять участие во втором (очном) раунде, нужно выбрать при регистрации. Участники, зарегистрировавшиеся на Intel Code Challenge, будут разделены на группы по выбранному городу. В каждой группе 25 лучших участников первого раунда пройдут во второй этап.

Список городов, где будет проходить очный этап (тревел-грант не предусмотрен):

  • Москва
  • Санкт-Петербург
  • Нижний Новгород
  • Архангельск
  • Волгоград
  • Казань

Для участия в очном этапе конкурса необходимо будет иметь с собой ноутбук с возможностью доступа в Интернет. Длительность раундов составит 2 часа в отборочном и 3 часа в основном туре.

Раунды будут проведены по обычным правилам Codeforces.

График проведения соревнования:

  • Окончание приема заявок: 1 октября 2016 г. в 17:00 по московскому времени
  • 1-й этап (заочный) – 1 октября 2016 г.
  • 2-й этап (очный) – 8 октября 2016 г.

По итогам очного этапа соревнований в каждом из городов проведения конкурса победители получат:

  • 1 место: Микрокомпьютер Intel® Compute Stick и тревел-грант на посещение конференции «Intel Partners Day» 9-го ноября 2016 г. в Нижнем Новгороде
  • 2 место: Фитнес-браслет
  • 3 место: Внешний аккумулятор

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

Оба раунда будут рейтинговыми и доступными для участия всем пользователям Codeforces.

UPD

Как указано на главной странице, заявка должна содержать следующую информацию:

  • Фамилия, Имя и Отчество заявителя
  • E-Mail
  • ВУЗ или место работы
  • Курс или должность
  • Город проживания или учебы
  • Город, в котором вы планируете проходить очный этап, если пройдете в финал
  • Логин на Codeforces

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

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

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

Финал Facebook Hacker Cup 2012. В основном виды прилегающей местности.

Фото здесь.

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

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

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

Финал TopCoder Open в Голливуде (Флорида, США) 25 - 29 сентября 2011 года.


Фото здесь.

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

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

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

Финал Russian Code Cup в Москве 17-18 сентября 2011 года.

Фото здесь.

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

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

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

Поездка сборной команды Поволжья на финал Google Code Jam 2011 в Токио.


Тексты здесь, здесь.
Фото здесь.


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

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

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

A. Башни
Общее количество башен равно количество различных чисел в данном наборе. Чтобы получить высоту наибольшей башни, можно было подсчитать для каждой длины количество брусков с такой длинной, и из этих чисел выбрать максимальное.

B. Компьютерная игра
Ограничения в задаче позволяли решать её следующим образом: будем хранить текущее количество здоровья у босса, и суммарный наносимый урон по нему. На очередном шаге выберем из еще не использованных свитков такой, который можно использовать на текущей секунде. Из всех таких, найдем свиток, который наносит больше всего урона, и применим его. Если в какой-то момент мы не смогли использовать ни один из свитков, и суммарный урон не превышает регенерацию, то выводим, что ответа не существует. Иначе продолжаем итерировать алгоритм, пока количество жизни босса не станет неотрицательным.

C. Древнеберляндский язык
Одно из самых простых для понимания решений в данной задаче выглядит так: отсортируем строки по возрастанию длины, при этом запомнив их номер в исходном списке. Будем последовательно строить наш набор, начиная с самых коротких строк: строками длины один могут быть только строки “0” и “1”. Если количество строк длины один в наборе больше двух, следовательно, ответа не существует. Добавим нужное количество строк длины один в ответ на свои места (для этого мы запомнили их номера), и удалим из текущего списка. Затем посмотрим на строки длины два: каждую из оставшихся строк длины 1 можно продолжить двумя способами (дописав к каждому из них символы 0 и 1). Добавим нужное количество строк длины два в наш набор, и снова увеличим длину оставшихся строк на единицу. Будем продолжать этот процесс до тех пор, пока не составим набор целиком. Можно заметить, что если в какой-то момент число допустимых строк превысило количество оставшихся, то лишние строки можно проигнорировать и таким образом время работы составит O(N * максимальную длину из входного набора).

 

D. Расписание занятий

Эта задача решается методом динамического программирования:

состоянием динамики будет пара чисел – номер аудитории и количество групп, занимавшихся на первой паре в аудитории с номером не превосходящем текущего, для которых вторая аудитория еще не определена. Для каждого состояния будем перебирать количество групп, у которых вторая пара будет проходить в текущей аудитории. При добавлении ответа из нового состояния, нужно домножить его на соответствующие биномиальные коэффициенты (количество способов выбрать группы, у которых первая пара будет в следующей аудитории - Xi + 1, и количество способов выбрать группы, у которых вторая пара будет в текущей аудитории).

 

E. Испытание для вождя

Сперва по данной раскраске построим следующий граф: каждой клетке сопоставим вершину того же цвета, что и сама клетка. Между соседними клетками проведем ребро веса 0, если клетки одного цвета, и веса 1, если разного. Теперь для каждой клетки посчитаем кратчайшее расстояния из нее, до самой удаленной черной клетки (обозначим его D). Нетрудно видеть, что можно построить последовательность из D + 1 перекрашивания приводящую к искомой раскраске:

  • на первом шаге покрасим все клетки на расстоянии меньше либо равном D в черный цвет
  • на втором шаге покрасим все клетки на расстоянии меньше либо равном D - 1 в белый цвет
  • и т. д.

Из всех клеток, выберем ту, для которой это расстояние минимально, и это расстояние увеличенное на единицу будет ответом на задачу.

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

Разбор задач Codeforces Beta Round 37
  • Проголосовать: нравится
  • +32
  • Проголосовать: не нравится

Автор vepifanov, 14 лет назад, По-русски
Добрый вечер!

Сегодня автором задач выступаю я. Учусь в Нижегородском государственном университете (2 курс, мех-мат). Хочу выразить благодарность коллективу codeforces за помощь в подготовке контеста, и, персонально, Артему Рахову и Марии Беловой (за перевод условий на английский язык). Также отдельное спасибо Алексею Шмелеву (Нижегородский гос. университет) за написание альтернативных решений.

P.S. К сожалению, на этот раунд можно было по ошибке зарегистрироваться командой. Для команд участие в этом раунде будет засчитано "Вне конкурса", т. е. рейтинг участников не изменится. Если вы зарегистрировались командой по ошибке, вы можете отменить регистрацию и зарегистрироваться лично.

UPD: Как только начнется соревнование, то будут доступны задачи в PDF:
UPD: Контест завершен, поздравляю Ивана Попелышева, который стал победителем этого раунда. Он оказался единственным, кто успешно решил все 5 задач.

Ссылка на результаты.

UPD: Доступен разбор задач.

С наилучшими пожеланиями,
Владислав Епифанов.

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

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