Автор BledDest, история, 7 лет назад, перевод, По-русски

Привет, Codeforces!

29 июня в 18:05 по Москве начнётся Educational Codeforces Round 24.

Продолжается серия образовательных раундов в рамках инициативы Harbour.Space University! Подробности о сотрудничестве Harbour.Space University и Codeforces можно прочитать в посте.

Раунд будет нерейтинговый. Соревнование будет проводиться по немного расширенным правилам ACM ICPC. После окончания раунда будет период времени длительностью в один день, в течение которого вы можете попробовать взломать абсолютно любое решение (в том числе свое). Причем исходный код будет предоставлен не только для чтения, но и для копирования.

Вам будет предложено 7 задач на 2 часа 15 минут. Мы надеемся, что вам они покажутся интересными.

Задачи вместе со мной готовили Михаил awoo Пикляев и Алексей Perforator Рипинен.

Удачи в раунде! Успешных решений!

Также у меня есть сообщение от Harbour.Space University о проводимых в университете курсах машинного обучения:

Сегодня технологии машинного обучения находят практическое применение в самых разных сферах — в продажах, СМИ, PR и маркетинге, банковских технологиях, телекоммуникациях, производстве, науке и многом другом.

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

Курсы проводятся двумя научными сотрудниками из Яндекса, Эмели Драль и Виктором Кантором. Эмели Драль — руководитель отдела предсказательной аналитики, а Виктор Кантор — руководитель группы анализа поведения пользователей в Яндексе.

http://in.harbour.space/data-science/industrial-machine-learning/

Они делятся с нами своими знаниями в самых разных вопросах, от самых многообещающих приложений в этой сфере на данный момент до применения последних достижений машинного обучения в работе.

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

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

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

Okay, CF on a hat-trick.

»
7 лет назад, # |
  Проголосовать: нравится -45 Проголосовать: не нравится

Is it not rated!

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

If they find a bug in the jury's solution does it mean that the contest becomes rated?

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

I would honestly not be surprised if at the end of this round they say it's rated.

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

I love educational rounds because they are announced unrated prior to the contest.

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

BledDest's Educational Round from 18 to 23 are awesome. I learned something new on every round. Congratulation for your contribution to consecutive 7 Rounds in a row .

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

Less Enthusiasm to finish all 7 problems since it is unrated :|

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

Read Statements of Problem 1,2 and 4. Most Unclear Problem Statements and Test Case Explanation.

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

    Indeed.

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

      Exactly. In first question, first of all they should mention that students who get diplomas cannot get certificates and vice versa. Also it should be diplomas OR certificates instead of AND. 2nd and 4th are even more unclear than the first

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

    Idk, for me it seems totally fine.

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

Why am i getting TLE on 7th testcase on D. I think time complexity of this code is O(nlogn)

code:
  • »
    »
    7 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

    Your Code complexity is not nlogn.

    I implemented the same idea as yours but efficiently without the while loop, you can view my solution here : 28150986

    UPD : The explanation is wrong, the cause of TLE is something else. See this

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

      well i think this soln is similar to mine and got AC 28144801

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

      The while loop will erase elements atmost n times, coz i am always erasing previously inserted elements, so the time complexity is nlongn for insertion + nlogn for erasing n elements! Total time complexity: nlogn

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

        I am really sorry.

        You are right your code complexity is nlogn.

        I think what you are missing is to reinitialise flag = 0. Once your flag is set to it never becomes 0 again causing the while loop to run in every loop after that, hence causing TLE.

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

          Actually, i don't think reinitialise of flag is required. Once flag is is set while should run for every iteration. The point is while will never run more than n times, so won't cause any problem, even there is no need of flag in while's condition. 28156733 (submission without flag in while's condition) .

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

          Actually flag is not causing the TLE, the problem is after erasing the color, whe should update its hash in h[] array, coz it can't be part of ans anymore.

          AC code: 28157043

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

WTF, I got AC in C and D, but didn't manage to do it in B...

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

How to solve D?

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

How to solve E?

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

E is kind a to easy for E,rather level of Div 1 B.It's just two pointer,and you could easlly hash with prime factors of numbers because number of prime factors of n is ,so baisicly I did nothing smart for this accepted,unlike some other E's where there is some beautiful observation.My 28153516

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

Can D be done by 2 pointer? I couldn't implement it.

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

    What is you 2 pointer approach? I tried it solving by always keeping set of possible answer for all positions, if at any position set is empty, print -1.

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

      For every color available store their indices and then compare them with indices of Alice's car find who will win how many times and if Alice's car looses then Bob can win by choosing that color.

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

    I tried solving E using 2-pointers but was getting TLE on 16.

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

    D can be done in O(N).
    Code-28146537

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

Here is the Problem E on Hackerearth created by MazzForces .

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

I got WA at test 4 in both B and D I tried all possible test cases especially in D and I did't figure out what is wrong with my code ?

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

How to solve C? I used Cumulative sum trick for each direction.

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

    That's exactly what I did too. Plus you also need to consider that the same sofa would also be counted in two directions. For example, in cumulative sum,for say a sofa with coordinates 1 1 1 2 , the cumulative sum in up and down direction will also account for the same sofa you are querying for, but not in the left or right direction.

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

Good round but I couldn't solve problem C...any help??Thanks in advance

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

    C is just careful case-work if I'm not wrong.Use four arrays to store for every sofa its min x in 1st,max x in 2nd,min y in 3rd and max y in 4th.Sort all of them using counting sort,i.e you could count number of those whose value is z.Now use prefix sum,i.e count how many sofa s are there with min x less then some value r for every r<n.Now for every sofa use opposite value to count number of sofas in each direction,when we want to know number of sofas on left for sofa i,we use max x_{i} and yust use prefix sum we calculated.That's O(n).

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

Problem E was very nice, can be done with simple algorithms. Thanks for such problems :)

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

problem A can be solvable using binary search . Equation is k*x+x<=n/2. Now search on x. Here x is number of diplomas. Here is my AC code : http://codeforces.com/contest/818/submission/28144078

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

Hack for A?

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

When you find a hack in your solution!

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

When you think you've used the same (maybe sub-optimal) algorithm as everyone, but the only solution you're able to hack is your own. :(

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

Is really F so easy ?

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

can someone tell what is wrong in 28167345

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

    Integer overflow. You are storing values in long data types but they can exceed the maximum permissible limit.

    eg. If you have an array of length 100 in which all elements are 2, s[99] will supposedly store 2^100 which will overflow.

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

Can I get All links to Educational Round?

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

I got judgement failed in problem G constantly.

How to solve it(?

Here is my submission -> 28719413