276

(3 ответов, оставленных в Feedback)

ибо неактуально, и вообще бред big_smile

277

(10 ответов, оставленных в Offtopic)

В C++ много всяких "хитростей", и если хорошо знать язык, то можно умело применять разные конструкции даже в олимпиадных задачах. Но вот описывать всё это на форуме, в виде таких обрывков - вряд ли от этого будет много толка smile

278

(4 ответов, оставленных в Problems)

Ох, давно это было... smile

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

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

К сожалению, что за квадратное уравнение такое, я не помню, но понятно уже, что это шаманство полное smile

279

(10 ответов, оставленных в Algo)

Почему использовать stack, а не vector, казалось бы, понятно. Если нам нужна функциональность именно стека, то логично использовать ту структуру данных, которая предоставляет именно интерфейс стека. Это улучшает читаемость кода (как в понимании назначения структур, так и в смысле названия методов), и это обобщает реализацию, делаёт её менее зависимой от underlying (извиняюсь, не знаю как это хорошо сказать по-русски smile ) структуры данных.

280

(2 ответов, оставленных в Problems)

То, что ту задачу никто не решил на контесте - можно сказать, недоразумение. Обе команды застряли на других задачах (в том числе даже, возможно, более сложных задачах, чем эта).

Алгоритм: мы перебираем удаляемую вершину. Удаляем эту вершину из графа. Теперь в нём надо найти глобальный мин. разрез (т.е. минимальный среди минимальных разрезов по всем возможным истокам и стокам). Можно перебрать исток и сток, и уже запускать поток (кстати, лучше даже не за куб, а Форда-Факлерсона, почему - скажу ниже). Вот, но это долго - весь алгоритм получается за N^3 * время_потока.

Но заметим, что все пары истоков и стоков перебирать не обязательно, а достаточно зафиксировать произвольный исток, и перебирать только сток. Действительно, зафиксируем любой исток s. В оптимальном ответе (мин. разрезе) он будет находиться в одной доле, а тогда, чтобы найти этот мин. разрез, нам достаточно "угадать" с выбором t так, чтобы он попал в другую долю. Таким образом, для нахождения глобального мин. разреза достаточно зафиксировать, скажем, s=1, и перебирать t=2..n. В итоге получается N^2 * время_потока.

На первый взгляд, это кажется много. Действительно, берём какой-нибудь достаточно хитроумный поток за куб (проталкиванием), и алгоритм получается с асимптотикой N^5. Вот, но утверждается, что как ни странно, можно вместо хитрого потока брать обычного Форда-Фалкерсона. Например, из соображений, что величина потока не может быть большой. И то это будет сильная оценка сверху. Опять же, граф не совсем плотный, и сделать тест, на котором Форд-Фалкерсон будет выполнять много итераций при всех возможных deleted_vertex и t, невозможно. В итоге моё решение за 300 мс работает.

Да, и собственно по мотивам этой задачи я сел разбираться с алгоритмом Штор-Вагнера для нахождения глобального мин. разреза за O(N^3). Решение, основанное на этом алгоритме, имеет общую асимптотику O(N^4), и проходит за 0.

281

(18 ответов, оставленных в OlympNews)

Гениальная песня "Не лажай, программёр, не лажай": скачать.

Те, кто были в лагере, уже получили удовольствие слушать её (в исполнении Димы Клёнова и Ко smile ), всем остальным я тоже очень рекомендую. Про наши олимпиады, финал... smile

P.S. Запись моя, на телефон, конечно, ужасного качества. Мб, в sound forge её можно привести в более приятный вид, но я не умею smile

282

(12 ответов, оставленных в OlympNews)

Регистрация открыта (до 3 сентября). Расписание тоже выложили:
Date    Time (UTC)*    Description
August 10     16:00 UTC    Registration Begins (4 weeks)
September 2     23:00 UTC    Qualification Round Begins (24 hours)
September 3     23:00 UTC    Qualification Round and Registration End
September 12     01:00 UTC    Online Round 1 - Sub-round A (2 hours and 30 minutes); Top scoring 1000 contestants advance to Round 2
September 12     16:00 UTC    Online Round 1 - Sub-round B (2 hours and 30 minutes); Top scoring 1000 contestants advance to Round 2
September 13     09:00 UTC    Online Round 1 - Sub-round C (2 hours and 30 minutes); Top scoring 1000 contestants advance to Round 2
September 26     16:00 UTC    Online Round 2 (2 hours and 30 minutes); Top scoring 500 contestants advance to Round 3
October 10     16:00 UTC    Online Round 3 (2 hours and 30 minutes); 25 advance to the Final Round
November 13     TBD    Onsite Finals; 25 Finalists, 1 Champion

283

(18 ответов, оставленных в OlympNews)

Лекции на видео не записывались. Читались в основном строки (z- и префикс- функции, суф. массив, суф. дерево (Укконен)), и плюс две на структуры данных (дерево отрезков, дерево Фенвика).

284

(18 ответов, оставленных в OlympNews)

По решению Михаила Мирзаянова, на сайте acm.sgu.ru/*** в течение некоторого времени будет открыто дорешивание контестов с этих сборов, но сайт этот будет доступен только для участников сборов.

С архивом контестов (условия, тесты, чекеры) всё несколько проще: он будет распространяться при условии неиспользования этих материалов на публичных контестах, т.е. только для личного пользования.

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

285

(18 ответов, оставленных в OlympNews)

Интернета не будет, только gprs. А по поводу условий - не знаю, на месте увидим smile Но я думаю, всё же команды поселят целиком, по трое.

brainail, big_smile

286

(15 ответов, оставленных в Algo)

GeorgeeChebanov, по-видимому надо просто во внутреннем цикле условие "j<k" исправить на "j<k && t<=p[i ]".

287

(15 ответов, оставленных в Algo)

GeorgeeChebanov, по-мойму реализация неверная. Я так понимаю, ты пытался реализовать тот алгоритм, который А.Лопатин на сборах когда-то рассказывал? Дело в том, что там существенную роль играл сам массив p[], благодаря информации из него каждое число вычеркивалось не более одного раза, и получалась линейная асимптотика.
У тебя же массив p[] в общем-то и не используется в алгоритме, т.е. твой алгоритм я бы переписал так:

vector<char> prime (n+1, true);
vector<int> primes;
for (int i=2; i<=n; ++i) {
    if (prime[i])
        primes.push_back (i);
    for (size_t j=0; j < primes.size() && i * primes[j] <= n; ++j)
        prime[ i * primes[j] ] = false;
}

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

Стопроцентно правильный алгоритм можно прочитать здесь. Интересно только, кто его первооткрыватель. Я тоже порыл в Интернете, и тоже не нашёл именно этого алгоритма. Есть очень близкие по идее алгоритмы, но такой поразительной простоты ни у одного из линейных решёт нет. Неужто открытие Лопатина?..

288

(18 ответов, оставленных в OlympNews)

Пансионат "Домостроитель"
Сотовая связь, думаю, есть - недалеко же до города.
вид с гугл спутника

289

(14 ответов, оставленных в Feedback)

cmd
А они и так генерятся при редактировании smile Ну как бы при первом вызове картинки она генерится (это долгий процесс, для первой картинки среди группы может уйти секунд 5-10), а потом уже просто берётся готовая pngшка из папки-кэша (например, сейчас в ней 1911 картинок общим размером 3.3 мб).
А что, тормоза были? Возможно, просто что-то php призадумался smile

290

(3 ответов, оставленных в News)

Добавлена подсветка кода во все статьи в формате TeX. Использован движок GeSHi.

291

(14 ответов, оставленных в Feedback)

denton

Кстати, было бы здорово (если не сложно/не лень/видна какая-то польза ) когда-нибудь сделать подсветку синтаксиса в коде на страничках алгоритмов

brainail

Ага ! Я тоже за подсветку

Done smile Я взял движок GeSHi, он судя по всему хорошо обкатан и довольно популярен. И к тому же работает на PHP, нечего всякими JS загромождать smile
Поддерживает 139 языков, но пока я его настроил исключительно на C++ (Java у меня большая редкость ) ). По техническим причинам подсветка работает только в TeX-статьях.
Стандартная раскраска не слишком цветастая?..

292

(12 ответов, оставленных в OlympNews)

Ггг, я тоже благополучно пропустил его в том году, так что особо подробностей не расскажу big_smile
Ну вообще регистрироваться вроде надо на этом сайте, и пока регистрация не открыта

293

(12 ответов, оставленных в OlympNews)

Судя по информации на сайте, расписание такое:

  • первая половина августа - регистрация

  • первая половина сентября - квалификация

  • сентябрь-октябрь - отборочные раунды

  • ноябрь - онсайт-финал в Mountain View, Калифорния

Точная информация по срокам будет позже


В этом году в финал всего 25 человек выходят... хехе ))

294

(10 ответов, оставленных в OlympNews)

Сегодня в 19-00 по Москве.


Думаю, надо написать его в целях поддержания формы - а то как бы до начала нового сезона всё не выветрилось из головы )))

295

(3 ответов, оставленных в News)

Добавил 1 алгоритм:
Тернарный поиск
и полностью переписал, избавившись от всех "белых пятен",
Суффиксный массив


В этой ветке предлагаю не оффтопить, все посторонние сообщения перенёс в отдельную тему.

296

(3 ответов, оставленных в News)

Добавлено 3 алгоритма:
Дерево Штерна-Броко. Ряд Фарея
Рандомизированная куча
Теория Шпрага-Гранди. Ним

297

(3 ответов, оставленных в News)

В этой теме я буду оставлять сообщения при добавлении новых алгоритмов или серьёзных изменениях старых.

Желающие могут просто подписаться на эту тему, чтобы оперативно узнавать об обновлении smile

298

(14 ответов, оставленных в Feedback)

denton
Да, чет официальный перевод кривоватый. Попробую разобраться

299

(9 ответов, оставленных в Problems)

Разве это та же задача, что и http://e-maxx.ru/forum/viewtopic.php?id=38?
Здесь даны text и s, и надо посчитать количество вхождений s в text, причём в виде подпоследовательности?

300

(4 ответов, оставленных в News)

UPD В разделе Feedback теперь гости (т.е. без регистрации) заводить новые темы не могут, однако могут оставлять сообщения в уже созданных темах. Пока это остановило спам smile