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

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

Доброго дня, Codeforces!

Спешу обрадовать всем тем, что в списке соревнований появилось новое соревнование для div1 участников. Это соревнование является трансляцией Саратовской командной олимпиады школьников по программированию и поэтому будет проходить по правилам ACM-ICPC. Специально для div1 участников мы немного усложнили школьную олимпиаду, чтобы всем было интересно решать задачи.

Соревнование — индивидуальное, оно будет рейтинговым для обоих дивизионов.

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

До встречи на Codeforces Round #145! Надеюсь, что все найдут время поучаствовать в соревновании.

UPD. Соревнование закончено, скоро появится разбор.

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

»
14 лет назад, скрыть # |
 
Проголосовать: нравится -37 Проголосовать: не нравится

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

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +15 Проголосовать: не нравится

Для первого дива, также как для второго 3,5 часа. Или всё-таки 2 часа?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +135 Проголосовать: не нравится

I don't understand why there are so many negative comments about the time. This contest is a translation of the real competition for school students in Saratov, and it will be held at the same time. So the time can't be changed. If you can't participate, because you go to school and so on, you can solve a virtual contest later.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +9 Проголосовать: не нравится

Почему бы такое время ни было выбрано, оно выбрано удачно!

»
14 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +5 Проголосовать: не нравится

-

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится

а почему для див2 3.30, а для див1 2 часа? все таки, как я понимаю, оригинальная олимпиада шла 5 часов?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +14 Проголосовать: не нравится

А в чем будет заключаться "небольшое усложнение" для div1? БОльшие ограничения / нет халявок / меньше времени / комбинация вышеперечисленного?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Если я правильно понял, для второго дивизиона задачи будут не такие уж легкие,т.к на их решение дано 3 часа 30 минут.

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +3 Проголосовать: не нравится

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

»
14 лет назад, скрыть # |
 
Проголосовать: нравится -15 Проголосовать: не нравится

x( i'm at school too beside there is no point in virtual contest :((

»
14 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +1 Проголосовать: не нравится

I don't know what about others but for me the time is so lucky ) thanks.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится

обычно в див1 еле 500 человек собирается, а в такое время 250 собирется, и то хорошо будет...

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +14 Проголосовать: не нравится

Can anyone tell how many problems there will be for div-2? I haven't ever participated in a 3:30 long contest in Codeforces before so i do not know... Thnx..

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

Собираемся командой тренировку виртуально писать. Время частично пересекается с этим контестом. Во время официальных соревнований сервер не сильно виртуальным участникам будет тормозить?

  • »
    »
    14 лет назад, скрыть # ^ |
    Rev. 2  
    Проголосовать: нравится 0 Проголосовать: не нравится

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

    P.S. Это относилось к обычным раундам. Если раунд по правилам ICPC, то, вероятно, там вообще не будет никаких заметных проблем.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится

а мы с другом ради этого контеста вообще в школу не идем =)

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится

Будет ли возможность писать командой вне конкурса? Хотелось бы потренироваться перед своим отбором на ВКОШП.

»
14 лет назад, скрыть # |
Rev. 7  
Проголосовать: нравится -15 Проголосовать: не нравится

Для школьников время подобрано не очень удачно, но можно поучаствовать и виртуально.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится

Почему регистрация заканчивается за 5 минут до начала?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится

Нравятся зареганные в div 2, english2 и bequcha6)) Зачем столько ботов писать??

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    А кто это такие? Их кол-во зашкаливает. bequcha20, new10, english10. Это один и тот же участник, или это разные люди/команды?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

That's a great idea...

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

It'll take place at 4AM here in Brazil. But, I found time to participate in the competition, it's a good way to learn.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

What is it mean ACM-ICPC rules? I can't find about ACM-ICPC rules. Can you explain or give a link for me please?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

Why durations of div1 and div2 are different? (div1 2h, div2 3.5h)

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +16 Проголосовать: не нравится

Will the problems be sorted according to the difficulty?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится -10 Проголосовать: не нравится

Прогуливать школу для участия — это весело, йоу!

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +6 Проголосовать: не нравится

    школьники сегодня будут разрываться между желанием написать контест и не получить нагоняй в школе за прогулы, судя по многочисленным комментариям? =)

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Love it..

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

I hope this will be a good practice session for the upcoming regional in my country next month :)

»
14 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +2 Проголосовать: не нравится

UPD. Обратите внимание, что в сегодняшнем контесте ввод/вывод будет файловый. Во всех задачах, читать нужно будет из файла input.txt, а выводить в файл output.txt.

Но зачем?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Задача E — можно было просто делать directed MST в чистом виде? Ставим ребру 0, если оно в порядке, и 1, если его надо отремонтировать?

Да, я видел UPD2, но эта задача отсутствует в наборе задач для div2, поэтому вряд ли им сильно поможет ее обсуждение.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Но задачи E и F можно же обсуждать? Как Е решается? Вот сконденсировали мы по хорошим ребрам — что дальше?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Вопрос по F. Нужно ли было достраивать вторую часть палиндрома, заюзав персистентность и разворот на отрезке? Или проходило без этого?

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

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

    • »
      »
      »
      14 лет назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится

      Я делал тоже самое, только дерамидой. Почему-то про дерево отрезков я забыл :(. А зря, решение проще...

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +8 Проголосовать: не нравится

    У меня решение такое — в каждой вершине дерева интервалов храним количества и отсортированы ли символы в какую-то сторону. Тогда при реквесте если мы попадаем в вершину с отсортированными буквами — проталкиваем эту сортировку вниз. При палиндромировании потом просто проставляем для отрезка нужные буквы и сортировку. Работает за . При желании можно ускорить до

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +5 Проголосовать: не нравится

Итак, как решать F(div 2)?

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +7 Проголосовать: не нравится

    Динамика dp[i][j][k] минимальная непривлекательность которую можно набрать покрасив i досок, использовав j красной краски и k 0-если последняя доска красная или 1-если зелёная. http://mirror.codeforces.com/contest/234/submission/2368725 http://pastebin.com/xg5wv7e5

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +6 Проголосовать: не нравится

    Динамика f(i, k, c) — мы рассмотрели префикс длины i, потратили на этом префиксе a первой краски, последняя доска была покрашена в цвет c. Переходы понятно какие — либо следующую доску красим в первый цвет, либо во второй. Почему не нужен параметр b — сколько краски второго типа потрачено. Да потому, что b выражается через a и сумму всех длин на префиксе длины i.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Как решалась D(div.2)?

Желательно, самым коротким способом.

  • »
    »
    14 лет назад, скрыть # ^ |
    Rev. 2  
    Проголосовать: нравится +1 Проголосовать: не нравится

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

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +2 Проголосовать: не нравится

    Считалось минимальное и максимальное кол-во любимых актеров, которое могло быть в фильме.

    Можно подсчитать кол-во нулей(n0), кол-во любимых актеров(n1) и кол-во остальных для фильма(n2).

    Тогда max=n1+(n0>p)?p:n0; min=n1+(n0-t>0)n0-t:0, где p=k-n1 (кол-во любимых актеров, про которых неизвестно, играли они в данном фильме или нет), t=m-k-n2 (кол-во остальных актеров, про которых неизвестно, играли они или нет).

    Дальше можн осравнить каждый фильм с остльными и проверить:

    если min(i)>=max(j) для всех i!=j, то выводим 0.

    Если max(i)<min(j) для какого-то j!=i, выводим 1.

    В противном случае выводим 2.

    А как С делалась?

    • »
      »
      »
      14 лет назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится

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

      Код.

    • »
      »
      »
      14 лет назад, скрыть # ^ |
      Rev. 2  
      Проголосовать: нравится 0 Проголосовать: не нравится

      Двумерная динамика. dp[i][j], где i означает длину префикса, j — либо 0, либо 1. То есть будем так считать: сколько для i-ой позиции нам нужно сделать замен, чтобы слева были все отрицательные, включая позицию, а справа были все положительные. Потом просто проходим и ищем минимум из суммы. Могу похожую задачку накинуть, если хотите

      UPD. А вот и она.

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    У меня D упала на 7 тесте? Кто-нибудь знает тест?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится

А когда тесты откроются?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

H (Div. 2) оказалось подозрительно простой.

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    А можете объяснить вкратце?

    • »
      »
      »
      14 лет назад, скрыть # ^ |
      Rev. 2  
      Проголосовать: нравится 0 Проголосовать: не нравится

      Раскладываем карты группами.

      Начинаем с нижних карт. Сперва сбрасываем в колоды карты, уже повёрнутые рубашкой вверх.

      То есть, если имеем изначально две стопки:

      1 1 0 1 0 0
      1 1 1 0 0 1 1

      Вначале сбрасываем карты-нули.

      Получаем:

      1 1 0 1
      1 1 1 0 0 1 1
      0 0 ("результирующая колода")

      Далее сбрасываем туда все карты-единицы:
      1 1 0
      1 1 1 0 0
      1 1 1 0 0

      При этом стоит записывать, сколько карт было переведено в результирующую колоду в отдельный массив. (2 3 и т.д.)

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

      В итоге имеем такую колоду: 1 1 1 1 1 0 0 0 1 1 1 0 0
      И массив, указывающий количество секторов:
      2 3 3 5

      Теперь наша задача перевернуть все карты.

      В начале переворачиваем 5 верхник карт-единиц. После этого переворачиваем эти же 5 верхних карт + 3 нижних. Далее переворачиваем только что перевёрнутые вместе с сектором, который находится под ними.

      И в итоге имеем колоду, в которой все карты лежат рубашкой вверх, то есть, имеют значение 0.

    • »
      »
      »
      14 лет назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится

      Зафиксируем тип карт (вверх или вниз рубашкой) которые будут идти в начале колоды. Теперь понятно, как надо слить две колоды — действуем жадно, если можем в новую колоду добавить карту такого же типа, то добавляем, если не можем, то меняем тип карты. Теперь есть колода из n + m карт, научимся приводить её к требуемой за минимальное число операций. Можно заметить, что для каждого i такого, что цвета типы карт на позиции i и i + 1 отличаются, нужно будет применить операцию к префиксу длины i. Ещё надо не забыть, чтобы в конце у всех карт тип был 0, если не так, то надо применить операцию ко всей колоде. Теперь переберём тип, запустим этот алгоритм, найдём минимум, выведем. Если что, вот мой код: 2371242

»
14 лет назад, скрыть # |
 
Проголосовать: нравится -6 Проголосовать: не нравится

После контеста у меня возник вопрос: с какой целью было решено разделить участников на два дивизиона и поставить для див1 всего 2 часа? Учитывая состав див1 (извиняюсь, людей, способных за 2 часа сдать все 6 задач, очень мало), места распределялись согласно скорости решения первых 4 халявок. Мне одному это кажется несправедливым?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

Can someone explain me why need big time,

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится

а дорешка второго дивизиона будет?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +10 Проголосовать: не нравится

Nice contest. It was worth waking up early.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Is this contest rated?(I believe it's rated contest)

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +7 Проголосовать: не нравится

I skipped my class to play in the contest. XD!!!!

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +37 Проголосовать: не нравится

Contest is over now, but I still can't see the solutions of other participants. Kindly fix this.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +12 Проголосовать: не нравится

I need upsolving. pls be fast

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +34 Проголосовать: не нравится

Eagerly waiting for the rating to change....why is it taking so long today :(

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +11 Проголосовать: не нравится

:-w

»
14 лет назад, скрыть # |
 
Проголосовать: нравится -9 Проголосовать: не нравится

Почему так долго не пересчитывается рейтинг?

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +12 Проголосовать: не нравится

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

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Почему рейтинг так долго не меняется ?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится

Синий. Наконец Оо

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

i can't view others submissions nor has the rating changed , why is it taking so long

»
14 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +34 Проголосовать: не нравится

The problem E can be modeled as Minimum Arborescence.

But I used to know the algorithm of it is O(VE)...

With nothing to do at last so I write one for a try...

But to my surprise it passed...

And I found the actually complexity of that is indeed O(E logV)....

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +5 Проголосовать: не нравится

Will there be an editorial ?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

задача http://mirror.codeforces.com/contest/234/problem/D Вот этот тест. Кто нибудь может объяснить почему вердик такой? Я не понял. Заранее спасибо

100 1 1 2 ab 17 0 0 0 0 0 0 0 0 0 0 0 2 3 4 5 6 7 abb 1 2 Вывод 2 2 Ответ 0 2

  • »
    »
    14 лет назад, скрыть # ^ |
    Rev. 3  
    Проголосовать: нравится +1 Проголосовать: не нравится

    в ab может быть, а может и не быть любимых актеров.

    если есть — то ab — любимый, abb — нет.

    если нет — то ab — любимый, abb — тоже любимый.

    вот и получаем: abb — всегда любимый (т.е. 0), ab — может любимый, а может и нет (т.е. 2).

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Возникла проблемка с задачкой С из div2, делал следующее:

  1. Проверял первый элемент, если он =>0, то менял его на -1, счетчик плюсовал.
  2. Проверял последний элемент, если он <=0, то менял его на 1, счетчик плюсовал.
  3. Далее бежал и искал 1-ый положительный и запоминал его позицию, после бежал и искал последний отрицательный и запоминал его позицию тоже.
  4. Пробегал от 1 положительного до последнего элемента и считал количество отрицательных между этими двумя, а также от первого элемента до последнего отрицательного и искал количество положительных между ними.
  5. Сравнивал полученные данные счетчиков из 4 пункта и выбирал наименьший.
  6. Бежал по массиву и искал количество нулей, плюсуя к счетчику единичку, если встречал нулик. Падает на 11-ом, если кто-то решал подобным методом, помогите, пожалуйста, найти более короткий тест с багом( в 11-ом n=100), буду очень признателен.
»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Could someone please tell me how to solve Div.2 H / Div.1 D problem Merging Two Decks?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +11 Проголосовать: не нравится

Many solutions to 240E - Ремонт дорог are wrong including mine. wuyiqi told me a test: 3 3 2 3 0 1 3 1 3 2 1

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +19 Проголосовать: не нравится

Когда будет разбор?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится -10 Проголосовать: не нравится

Hi A short-solution programming contest will hold on October 24 at gpac.blog.ir For more information go to the link.

»
13 лет назад, скрыть # |
 
Проголосовать: нравится +15 Проголосовать: не нравится

I'm still waiting for your editorial :(

»
13 лет назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится

Will there by editorial for this contest?

»
13 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

How's the editorial coming? I'd love to read something about E ;)

»
13 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

I found the tag "greedy" after I solved problem E in O(V+E). Is it true that there is a correct (not accepted) greedy solution for this problem? How? I hope someone or the editorial would tell me something about it.

»
13 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Could you please upload the editorial ?

»
13 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

How's the editorial coming?

»
13 лет назад, скрыть # |
 
Проголосовать: нравится -8 Проголосовать: не нравится

i don't think the statement of problem e satisfy the truth.

»
13 лет назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится

There is no editorial until now !!! :/ Will it be published ??? Or already published in any other blog ???

»
11 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Why am I getting a TLE on the 1st test case

http://ideone.com/0PewNN

Please help

»
8 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Can anyone tell me how the answer for "Cinema" for this test case is 0, 2: 100 1 1 2 ab 17 0 0 0 0 0 0 0 0 0 0 0 2 3 4 5 6 7 abb 1 2 The 1st movie need not contain his favorite actor hence I think the answer is 2, 2. Pls. help

»
7 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

I like this contest 52150518:)

»
7 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

my AC code(cpp):52150518