Pull to refresh
  • by relevance
  • by date
  • by rating

Российские студенты на финале Imagine Cup в Варшаве сражаются за честь страны!

Microsoft corporate blog
Думаю, многим читателям хабра известен конкурс Imagine Cup — международное студенческое технологическое соревнование, ежегодно организуемое Майкрософт. 3-10 июля в Варшаве проходит международный финал этого конкурса, на котором присутствуют целых две команды из России: команда NLO из ЮУрГУ (Челябинск) представляет страну в конкурсе программных проектов, а команда из МГПУ участвует в конкурсе встраиваемых систем с роботом-воспитателем Робоняня. Оба этих проекта победили на российском финале, став лучшими среди многих десятков других студенческих проектов со всей России.

Команда Робоняни в Варшаве

Пока что финал складывается весьма успешно для команды «Робоняня» — вчера ночью было объявлено, что она вошла в число шести супер-финалистов конкурса.
Читать дальше →
Total votes 65: ↑47 and ↓18 +29
Views 8.6K
Comments 43

Методы применения алгоритма нахождения максимального потока в сети

Algorithms *

Введение


Задача о максимальном потоке является классической и имеет множество применений. Напомню постановку проблемы. Дан взвешенный ориентированный граф с неотрицательными весами (пропускными способностями). Выделены две вершины: исток S и сток T такие, что любая другая вершина лежит на пути из S в T. Потоком назовем функцию F: V x V с такими свойствами
  1. Ограничение пропускной способности. Поток по ребру не может быть больше его (ребра) пропускной способности.
  2. Антисимметричность. Для каждого ребра (u, v): F(u, v) = -F(v, u).
  3. Сохранение потока. Для каждой вершины (кроме S и T), количество входящего потока (отрицательного) равен количеству исходящего потока (положительного). Тоесть, алгебраическая сумма потоков для каждой вершины (кроме S и T) равна нулю.

В этом посте вы можете ознакомиться с реализацией поставленной проблемы.

Перейдем непосредственно к типичным задачам, которые сводятся к алгоритму нахождения максимального потока в сети. Часто выявить в таких задачах поток очень не просто.

Читать дальше →
Total votes 44: ↑41 and ↓3 +38
Views 41K
Comments 14

Олимпиадное хобби. Задача об утилизации отходов

Sport programming *
Привет. С вами олимпиадное хобби. Здесь мы выбираем себе олимпиадную задачу по программированию, разбираем ее, вырабатываем возможные пути решения и реализовываем задуманное, после чего отправляем на суд. Нам потребуется знание одного из языков программирования: c, c++, java, pascal, терпение, ловкость и базовые знания английского языка, чтобы понимать условие задачи, хотя последний пункт необязателен, ведь я вольно перескажу условие на русском языке.

Вы не забыли размяться? Если забыли, то быстренько разминайтесь, и возвращайтесь к нам.

Напоминаю, что я беру задачи с сайта http://uva.onlinejudge.org, и сегодня случайный выбор пал на задачку под номером 154 — задачу об утилизации отходов.
Читать дальше →
Total votes 41: ↑32 and ↓9 +23
Views 3.1K
Comments 35

Олимпиадное хобби. Размен монет

Sport programming *
Размен монет Привет. Сегодня понедельник, поэтому я решил, что стоит начать свой рабочий день с разогрева пальцев и мозга. Для тех кто не в курсе: мое олимпиадное хобби состоит в решении олимпиадных задач по программированию, которые я беру с сайта http://uva.onlinejudge.org/. Сегодня нам предстоит решить задачу о размене монет из области динамического программирования. Задача не очень сложная, но есть над чем поразмыслить, поэтому заинтересовавшихся прошу под кат. К слову, это третья наша задача, но, безусловно, из всех самая интересная.
Читать дальше →
Total votes 39: ↑33 and ↓6 +27
Views 57K
Comments 89

Олимпиадное хобби. Разделяй и властвуй

Sport programming *
Доброго всем понедельника. Если понедельник для вас не самый приятный день, то предлагаю вам немного расслабиться и проникнуться моим хобби. Моё хобби — решение олимпиадных задач по программированию: встряхивает мозг, будоражит воображение и заряжает энергией (правда не всегда положительной). Не верите? Попробуйте сами, только честно попытайтесь решить поставленную задачу, получите долгожданный Accepted, и наслаждайтесь полученными эмоциями.

Сегодня случай подкинул нам задачу №10474. Это задача на умение применять вовремя простые алгоритмы, поэтому не ждите от нее чего-то сложного и хитроумного. Если вам не интересно решать задачи за счет пары стандартных алгоритмов, то пропускайте топик, а всем остальным добро пожаловать под кат. Нас ждет пара алгоритмов, выбор наиболее удобного решения, ну и, конечно же, Accepted!
Читать дальше →
Total votes 28: ↑23 and ↓5 +18
Views 5.4K
Comments 36

Разбор задач Hacker Cup Qualification Round + перенос Facebook Hacker Cup Online Round I

Python *
Sandbox
Facebook Hacker Cup 2011 проходит в 4 раунда — квалификационный, два онлайн раунда и финальный, в главном офисе.

Квалификационный раунд, анонсированный официально Хабром завершился успешно.
Результаты раунда говорят о 5846 игроках, прошедших в первый онлайн тур.
Участникам квалификационного раунда предлагалось 3 задачи, для прохождения достаточно было правильного решения любой из них.

А вот первый онлайн раунд, прервав ближе к завершению, перенесли из-за технических проблем минимум на неделю:
We've decided to push back the remaining subrounds of round 1 until we are sure that they can run smoothly. Updates will follow here, but you can safely assume that the subrounds will not occur at least until next weekend.
image
Читать разбор задач Facebook Hacker Cup 2011 Qualification Round
Total votes 50: ↑42 and ↓8 +34
Views 4.3K
Comments 75

Персистентные структуры, часть 1: персистентный стек

Algorithms *
Sandbox
Я заметил, что на хабре было достаточно много постов о таких классических структурах данных, как стек, очередь, хип; рассматривались так же дерево отрезков и множество различных деревьев поиска, но очень мало внимания уделялось персистентным структурам данных. В этом цикле статей я хотел бы поговорить как раз о них. Так уж сложилось, что я достаточно давно занимаюсь олимпиадным программированием, так что рассматривать я их буду с точки зрения моего опыта применения персистентных структур в этой области.
Читать дальше →
Total votes 51: ↑47 and ↓4 +43
Views 28K
Comments 42

Олимпиадное программирование как искусство

Sport programming *
Sandbox
«В наше время считается общепризнанным,
что из всего, так или иначе касающегося искусства,
ничто более не может считаться общепризнаным»
Теодор Адорно

Все началось с того, как один человек пытался выяснить решение задачи контеста, который проходил в данный момент. Задача была очень простая, всем было очевидно, что этот человек не займет хорошего места, не получит футболку и т.п. Но тем не менее ни один из 5000+ членов сообщества не дал ни одной подсказки (ну или хотя бы из 30+ человек, которые это видели и знали ответ). Мне такой результат уже давно кажется закономерным и я попробовал объяснить его в двух словах. Теперь попробую чуть более подробно. Заранее прошу прощения у людей, которые в это понятие вкладывают не то, что я. Я лишь хотел изложить свой взгляд.
Читать дальше →
Total votes 12: ↑7 and ↓5 +2
Views 8.3K
Comments 6

Теория Игр и функция Шпрага-Гранди

Sport programming *
Sandbox
Доброго времени суток, уважаемое Хабрасообщество.

В последнее время все большее и большее распространение получает олимпиадное программирование, неотъемлемой частью которого является знание алгоритмов (и, разумеется, умение их применять).

Я хочу рассказать вам основы теории Игр, доказать функцию Шпрага-Гранди, разобрать несколько классических impartial-задач и проиллюстрировать их кодом на python.
Читать дальше →
Total votes 53: ↑52 and ↓1 +51
Views 29K
Comments 30

Олимпиада ФУПМ МФТИ по программированию для школьников

Sport programming *
Некоторые хабраюзеры уже участвовали в олимпиадах по программированию.
Например, в мае проходил ABBYY Cup. Сейчас на том же сервере проходит олимпиада факультета управления и прикладной математики МФТИ для школьников. Могут участвовать и студенты, но только вне конкурса, тем более, что сейчас сессия. Для студентов будут другие контесты.

Победители получат призы и сувениры от факультета и спонсоров. Турнир доступен до 15 января.
Читать дальше →
Total votes 28: ↑26 and ↓2 +24
Views 2.1K
Comments 15

Олимпиадные задачи по программированию: что за зверь?

ABBYY corporate blog Sport programming *
Недавно мы анонсировали конкурс задач по спортивному программированию. Организаторы конкурса попросили написать короткое объявление о конкурсе в блог ABBYY, но строгий редактор отказался печатать анонс без объяснения того, что же такое олимпиадная задача. Из этого родилась целая статья. Начнем, пожалуй, с примера олимпиадной задачи.
Этот же пример, чтобы по ссылке не ходить

ИТ-рестораны


ограничение по времени на тест: 4 секунды
ограничение по памяти на тест: 256 мегабайт
ввод: standard input
вывод: standard output

В городе N. очень плохо с дорогами, общепитом и IT-инфраструктурой. Всего в городе n перекрестков, некоторые пары которых соединены двусторонними дорогами. Дорожная сеть состоит из n - 1 дороги, по дорогам можно добраться с любого перекрестка на любой другой. Да, вы правы — дорожная сеть образует неориентированное дерево.

Недавно мэр города придумал способ, устраняющий проблемы с общепитом и IT-инфраструктурой, причем одновременно! Решено поставить на перекрестках города ресторанчики двух известных сетей кафе для IT-шников: «iMac D0naldz» и «Burger Bing». Так как владельцы сетей не дружат, категорически запрещается размещать рестораны двух разных сетей на соседних перекрестках. Есть и другие требования. Вот полный список:

  • в каждом перекрестке должен находится не более чем один ресторан;
  • каждый ресторан принадлежит либо «iMac D0naldz», либо «Burger Bing»;
  • каждая сеть должна построить не менее одного ресторана;
  • не существует пары перекрестков, которые соединены дорогой и на которых стоят рестораны разных сетей.

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

Помогите мэру проанализировать ситуацию. Найдите все такие пары (a, b), что a ресторанов может принадлежать «iMac D0naldz», b — «Burger Bing», а сумма a + b максимальна.

Входные данные

В первой строке входных данных содержится целое число n (3 ≤ n ≤ 5000) — количество перекрестков в городе. Далее в n - 1 строке перечислены все дороги, по одной дороге в строке. Каждая дорога задана парой чисел xi, yi (1 ≤ xi, yi ≤ n) — номерами соединяемых перекрестков. Считайте, что перекрестки пронумерованы от 1 до n.

Гарантируется, что заданная дорожная сеть представляет собой неориентированное дерево с n вершинами.

Выходные данные

В первую строку выведите целое число z — количество искомых пар. Далее выведите все искомые пары (a, b) в порядке увеличения первой компоненты a.
Примеры тестов
Входные данные

5
1 2
2 3
3 4
4 5

Выходные данные

3
1 3
2 2
3 1

Входные данные

10
1 2
2 3
3 4
5 6
6 7
7 4
8 9
9 10
10 4

Выходные данные

6
1 8
2 7
3 6
6 3
7 2
8 1


Первое, что бросается в глаза, это необычное условие. Такой подход сложился исторически: писать краткую математическую формулировку не принято. Обычно ее пытаются связать с реальной жизнью, ну или с не очень реальной. Например, в USACO героями всех задач являются фермер Джон и коровы. Прежде чем приступить к решению после прочтения условия, участнику требуется выделить математическую формулировку задачи.
Читать дальше →
Total votes 44: ↑34 and ↓10 +24
Views 60K
Comments 45

Школьник об олимпиадном программировании

Sport programming *
Sandbox

Здравствуй, Хабр!
Пишет тебе девятиклассник, призер регионального этапа всероссийской олимпиады по информатике. В последнее время я стал замечать, что у хабражителей повысился интерес к олимпиадам по программированию. Как их активный участник я постараюсь ответить на все вопросы, рассказать о своем пути, привести примеры реальных, запомнившихся мне задач.
Читать дальше →
Total votes 168: ↑122 and ↓46 +76
Views 129K
Comments 152

Russian Code Cup 2013 – разбор задач 3-го квалификационного раунда

Mail.ru Group corporate blog Sport programming *Programming *

В прошедшее воскресенье состоялся 3-й, заключительный квалификационный раунд Russian Code Cup. Все, кто хотел принять участие, смогли прийти и побороться за место в отборочном раунде.

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

Читать дальше →
Total votes 40: ↑36 and ↓4 +32
Views 14K
Comments 6

Russian Code Cup 2013 – разбор задач отборочного раунда

Mail.ru Group corporate blog Sport programming *Programming *

В прошедшее воскресенье состоялся отборочный раунд Russian Code Cup. Это последний онлайн-раунд соревнования: решающая встреча финалистов пройдет в Москве. Для того чтобы участвовать в финале, нужно было приложить больше усилий, чем на предыдущих этапах. Участникам предлагалось шесть задач (в квалификационных раундах было на одну меньше), на их решение выделялось три часа (в квалификационных — два).

Борьба за выход в финал была непростой, но честной: за время раунда не выявлено ни одного списывальщика.
Под катом — статистика по победителям и подробный разбор задач отборочного раунда:

  • Задача A: Две башни
  • Задача B: Депозит
  • Задача C: Кеплер
  • Задача D: Тест
  • Задача E: Лазеры
  • Задача F: Колесо


Читать дальше →
Total votes 37: ↑33 and ↓4 +29
Views 17K
Comments 0

Как побеждают IT-чемпионы: про изнанку подготовки к ACM-ICPC

Mail.ru Group corporate blog Sport programming *Programming *
1- 3 июля 2013 в Санкт-Петербурге проходит финал Международной студенческой олимпиады по спортивному программированию ACM-ICPC. Решающая встреча джедаев спортивного программирования пройдет в городе на Неве благодаря тому, что студенты питерского ИТМО заняли первое место на ACM-ICPC 2012.

Mail.Ru Group давно сотрудничает с ИТМО: там действует наша кафедра интернет-технологий, там же по нашему приглашению Бертран Майер возглавил кафедру программной инженерии, мы неоднократно становились партнерами этапов и полуфиналов ACM и совместно проводим собственный чемпионат по спортивному программированию Russian Code Cup. Поэтому мы решили дополнительно поддержать команду ИТМО в преддверии ответственного финала, и прежде всего – рассказать о чемпионах :)

Читать дальше →
Total votes 45: ↑36 and ↓9 +27
Views 19K
Comments 9

Олимпиада по программированию Летней школы МФТИ по прикладным математике и физике

Abnormal programming *Sport programming *Programming *
В настоящее время для абитуриентов МФТИ проводится школа по прикладным математике и физике (подробнее о ней можно прочитать на официальном сайте). В её рамках на сайте http://judge.mipt.ru/index_school.html проходит заочная олимпиада по программированию. Она проводится по кировской системе (то есть баллы приносит
даже решение, которое проходит только часть тестов) на Ejudge. Результаты этой олимпиады будут учтены на собеседовании в МФТИ и при распределении первокурсников по группам по информатике. Будут задачи разного уровня от самых простых до совсем сложных, так что интересно будет всем, а победители получат призы и сувениры от спонсоров. Часть задач доступна уже сейчас, остальные будут добавляться по мере работы Школы. Награждение победителей планируется 9 июля, вместе с награждением победителей олимпиады по физике и математике Летней школы.

UPD.
По просьбам добавляю в пост ссылку на инструкцию по проверяющей системе. Если есть какие-то вопросы, задавайте их в комментариях, с удовольствием отвечу.
Читать дальше →
Total votes 10: ↑7 and ↓3 +4
Views 4.9K
Comments 0

Призер всероссийской олимпиады по информатике задержан во время взлома банкомата

Information Security *Sport programming *Programming *
Продолжаем интересные новости: в Иркутске задержан студент-первокурсник, серебряный призер всероссийской олимпиады по информатике. Арест произошел в тот момент, когда 19-ти летний парень пытался украсть около 75 тысяч рублей, снимая деньги и переводя их на телефонные счета. Влом произошел в одном из продуктовых магазинов Иркутска. Охранники обратили внимание на молодого человека, который долгое время производил подозрительные манипуляции у терминала, находящегося в помещении магазина. Ну и вызвали полицию.



Цитирую пресс-службу МВД:
Читать дальше →
Total votes 121: ↑108 and ↓13 +95
Views 111K
Comments 128