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

Автор maroonrk, история, 13 месяцев назад, По-английски

We will hold AtCoder Regular Contest 156.

The point values will be 400-500-600-700-800-1000.

We are looking forward to your participation!

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

»
13 месяцев назад, # |
  Проголосовать: нравится +23 Проголосовать: не нравится

I hope the problems of this contest have fewer corner cases.

»
13 месяцев назад, # |
  Проголосовать: нравится +46 Проголосовать: не нравится

Amazing round.

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

hope everyone get good rating

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

Amazing round.

»
13 месяцев назад, # |
  Проголосовать: нравится +28 Проголосовать: не нравится

cpp 20 when

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

Good luck! (I still have $$$+\infty$$$ homework)

»
13 месяцев назад, # |
  Проголосовать: нравится +47 Проголосовать: не нравится
  1. Thank you for the contest! Today I learned that Lucas's theorem works for multinomial coefficients too.
  2. Why in the first two problems N is large but for some reason in the third one it’s small? I was doubting whether my linear solution was correct for a long time…
»
13 месяцев назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

How to solve the problem B?

  • »
    »
    13 месяцев назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Hint 1:
    Hint 2:
  • »
    »
    13 месяцев назад, # ^ |
      Проголосовать: нравится +6 Проголосовать: не нравится

    Assume, the mex of the final set is $$$x$$$. In this case, all numbers less than $$$x$$$ are in set. The ones, that are not, have to be added. Assume, we added $$$y$$$ of such numbers.

    Now, we have to add $$$k - y$$$ more numbers. These are numbers from $$$0$$$ to $$$x - 1$$$. We are counting number of sets, so we have to "find number of non-decreasing arrays of length $$$k - y$$$ with elements from $$$0$$$ to $$$x - 1$$$". Now, not easy combinatorial step: we have to put $$$x - 1$$$ stages into $$$k - y + 1$$$ positions. This is number of "combinations with repetitions": $$$C_R(k - y + 1, x - 1)$$$. Rewrite as usual combinations: $$$C_R(a, b) = C(a + b - 1, a)$$$.

»
13 месяцев назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

How to solve C ?

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

    For an $$$x$$$, define $$$q_x$$$ as the number such that $$$p_{q_x}=x$$$.

    The minimum similarity has to be at least 1, as one can choose path $$$(x,q_x)$$$ to make it 1. So consider constructing a permutation that makes the answer 1.

    Let's consider a leaf $$$x$$$. If this node makes a contribution of 1 to the final answer, than the final path must contain path $$$(x,q_x)$$$. As $$$x$$$ is a leaf, $$$x$$$ will be the first element in the LCS. Then we only need to ensure that there is no other same element after $$$q_x$$$. One simple way to do this is to make $$$q_x$$$ the leaf. Then we get the idea to shuffle the indexes of the leaves. It's not hard to prove that if we do this, any LCS with a leaf will have length of at most 1.

    Then return to the original problem. Note that since leaves will not make any further contribution, we can simply delete them and do the same thing on the resulting tree again and again, until there's only 0/1 nodes left. Then we can do some trivial assignments and the whole process is finished. It can be proved that in this case, the answer is at most 1, which is obviously the best answer we can get.

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

INF corner cases in A

B was good problem

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

anybody cares to explain problem B question not solution ?

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

    :) Видео недоступно Оно содержит материалы партнера SME. Он заблокировал ролик в вашей стране из-за нарушения авторских прав.

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

    Did u find a test case on problem F where your code dosen t work, because i had WA on the same tests an was wondering where the mistake could be.

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

      It doesn't work on the second sample. I need to choose which elements to delete in trees more carefully, I don't yet know how exactly.

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

    Hi, is there a name for dp code in D? Is it some kind of trick for powers of 2?

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

      The dp itself is ad-hoc here, it's not something standard. If you want to categorize it, I would say it is similar to knapsack, but it's not just textbook.

      The idea of the whole solution is from Lucas's theorem. I think that my solution is the same as the one in the editorial.

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

        I read the editorial and understood the first part. And that we need to do a weird knapsack on 60 bits. But the dp itself is not obvious

»
13 месяцев назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится

Linear time solution to E. It's nothing inspiring compared to a quadratic time solution, just beating up the quadratic code till it falls in place.

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

How does the computing of inverses modulo MOD work in this editorial precomputation?

inv.append(-inv[MOD % i] * (MOD // i) % MOD)

Where does this equation inv(x) mod MOD = -inv(MOD mod x) * floor(MOD/x) mod MOD come from?

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

Could anyone explain the editorial solution for problem D? It would be of great help...

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

Why the problem F can be solve in $$$O(n\sqrt{n})$$$ time.

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

Wander how to write the code that judges the solution for C.