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

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

We will hold AtCoder Beginner Contest 319.

The point values will be 100-200-300-400-450-550-575.

Until ABC 318, we used 8 problems per contest because there were many difficult tasks we wanted to use in ABCs. Since we have used most of them, from this ABC, we will use 7 problems per contest.

The difficulty of problems A-F will not be changed. The range of difficulty of new problem Gs will be wider, some of them can be as easy as current problem Gs, while others can be as hard as current problem Exs. Please check the point values of each contest for more accurate estimation of difficulties.

We are looking forward to your participation!

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

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

Number of Tasks: 8

from this ABC, we will use 7 problems per contest.

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

Number of Tasks:8

So where is the 8th problem???

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

This game only has 7 tasks, I don't know if this means the overall difficulty has increased

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

    The post said:

    The difficulty of problems A-F will not be changed. The range of difficulty of new problem Gs will be wider, some of them can be as easy as current problem Gs, while others can be as hard as current problem Exs.

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

What the hell is problem statement of C?

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

The atcoder crashed...

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

dude can you explain qC

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

I don't have any ideas about C-False Hope.

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

    You can consider all permutations of the order Takahashi sees the grids, check if it satisfies the condition easily. I agree the statement is not so clear, and that reading is the hardest part in solving the problem xd.

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

    How we're calculating the probability tough!

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

      wdym? isn't the probability equal to "total number of permutations that satisfy condition"/(1*2...*9) ?

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

The difficulty of problems A-F will not be changed

But I think it's harder than usual

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

C has the worst problem statement I've ever seen.

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

.

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

Literal False hope

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

After reading C:


wth-is-c

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

The Problem statement and explanation for C is too bad

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

Task C was really a disaster.

Never seen such a bad description of a problem ,Even the Explanation of test cases are not clear.

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

Am I the only one who thought E >>> (F and G)

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

    how F please

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

      you can do bitmask dp (bitmask denotes consumed medicines), notice that it's always optimal to defeat any enemy as soon as you can defeat it

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

        Thank you very much! I didn't see the medicine constraint during the contest :(

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

    Probably because $$$G$$$ is a kinda-standard problem?

    But I think E is easier than F. $$$1\leq P_i\leq 8$$$ gives it away.

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

      How did you do E?

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

        Consider lcm(1 ... 8) = 840, so all the starting time that have the same value after mod 840 has the same min time to transport from station 1 to n. Just preprocess the min time of station transportation starting at time x(mod 840) and answer the questions after this.

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

          Could you provide with a proof for this?

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

            sort of obvious rly... I am really sorry, but I dont know how to put the explanation into mathematical terms :(

            but maybe you can figure out by examining all the time mod p[i] after visiting station i and you will see.

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

            Let's say you have $$$2$$$ buses having $$$p$$$ $$$=$$$ $$$[5, 6]$$$ and $$$t$$$ $$$=$$$ $$$[3, 4]$$$

            If you reach the first bus stand at $$$0$$$, you can take the first bus at $$$0$$$, reach the bus stop after $$$3$$$ units of time, start bus two at $$$6$$$, and reach the final bus stop at $$$10$$$.

            You can find the same for different values when you reach the first bus stop. It will be different for starting times (in this case) $$$6, 11, 16, ...$$$

            Now try to find the bus travel time if you reach the first bus stop at time equal to $$$lcm(5, 6) = 30$$$. You'll realize that the position of buses is exactly the same as it was at the time $$$= 0$$$. So the value is same and this pattern will continue.

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

Can anybody explain C ?

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

how to solve D?

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

    Binary Search

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

      In D, what if the order of the words didn't matter, so would that problem be solved by dp ? How would we implement the solution in that case ?

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

First five problems without C, how awkward, and bad problem.

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

Laugh at A, get confused about B, and then give up understanding at C.

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

I request Atcoder to take some action against a mass group whose user name starts with "klu". These all students belong from a certain university and have clearly mass copied, this drastically pushed the ranks.

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

Can someone explain the statement of C?

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

In problem C,Takahashi can see numbers in each cell in 9! different ways and we have to calculate valid permutations.A valid permutation is one in which for each row,column and diagonal which consists of two same values and one different value,he must visit the cell with different value before atleast one of the other two cells with same value. After that , the implementation is pretty much brute force.

But the definition of valid permutation (not disappointed) was not clear at all atleast for me personally, it took me 40 min to understand what question is asking us to do and 7 odd minutes to implement it.

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

G is even easier than F

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

I think this can be called a ABC319C disaster.

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

What is C? Why is C?

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

Why there's no English Editorial?

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

When will the English Editorial be released

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

How to solve G? I used simple BFS with o(n^2*log(n)) solution using sets and got TLE.

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

Is there any problem related to G? Very thanks!

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

Can someone help me understand why my code for problem D doesn't pass all the tests? https://atcoder.jp/contests/abc319/submissions/45406059

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

C is the most shit problem

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

I have a strange solution for F:

Enumerate over all possible visiting orders of vertices with $$$t_i=2$$$. For each permutation, consider the following greedy strategy:

  • Find a monster you can reach with the minimum strength. If you can't defeat it, take the reachable medicine with the highest priority (determined by the visiting order).

Repeat this step, until all monsters are cleared or there is no medicine available.

The overall time complexity is $$$\mathcal O(m!\times n\log n)$$$, where $$$m$$$ is the number of medicine vertices. So it can't fit in the time limit, but actually with some simple optimizations it ran in $$$800\mathrm{ms}$$$ (maybe can be hacked?).

However, I got WAx1 (submission). Did I make a mistake in the program or the idea is wrong?

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

    Oh,I found another one.Using random_shuffle instead of next_permutation can get a higher probability to pass this task.I tried 3 times,and they all passed.

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

      Thanks. But my code tried all the permutations, without any randomization. I expected TLE, but why does it get WA? Could you please have a look at my code?

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

      Some optimizations:

      • use __gnu_pbds::priority_queue instead of std::priority_queue for a better constant factor
      • if $$$(\text{the current strength})\times (\text{the product of all the available }g_i)\ge (\text{maximum monster strength})$$$, then print Yes.
      • »
        »
        »
        »
        14 месяцев назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        I'am in China now,I can't download the testcase.But you can try it.And I found another thing:I'am wrong,I can reach the subtree of a medicine without taking it.But I passed!

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

          Maybe the test cases are too weak?

          And the test cases for ABC319 are't published yet (in fact, the latest public test cases from AtCoder is that of ABC311).

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

Can anyone give proof for E, how time taken for t1 and t2 will be same if t1%840==t2%840

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

    $$$lcm(1,2,3,4,5,6,7,8) = 840$$$

    So the state of the bus stops repeats after every $$$840$$$ unit of time.

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

In the F,the data may be weak

5

1 1 1 1

2 2 0 5

3 1 1 1

4 1 15 1

My AC code can be hacked

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

    My submission https://atcoder.jp/contests/abc319/submissions/45439007

    And the reason is that I don't consider the limit of ti=2 must take the medicine

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

    it was originally came up with DJ2006 :-)

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

      but it is not important. plz add this data into the problem, thx.

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

    I was looking at the submission of hitonanode, which seemed to more or less implement the algorithm described in the second editorial, the correctness of which I had tried to understand and prove. Eventually, to my great surprise, I constructed the case

    6
    1 2 0 3
    1 2 0 2
    2 1 3 3
    2 1 15 1
    3 1 2 2
    

    for which the answer should be Yes, on which the aforementioned submission outputs No.

    In my drawing of the corresponding tree below, the two multipliers are circled.

    As for why it's Yes:


    1 -> 2 -> 3 results in 1*3+3 = 6, then 6*2 = 12, 12+2 = 14, 15 cannot be defeated. However, if one does 1*2 + 2 = 4, then 4*3 = 12, then 12+3 = 15, then 15 can be defeated.


    Afterwards, I checked that the submissions of some other top contestants also output for this Yes.

    I had thought of private messaging hitonanode about this, but then, I felt a bit too shy to do so to such a highly rated coder for something as relatively unimportant as this. It is also not the first time I've seen solutions with more minor bugs AC. However, I do not think it is impossible that hitonanode or someone else could tell me thru what channel to submit an after contest case. Another thought is that maybe maspy, with whom I once had a minor exchange on GitHub, could point me to the right direction?

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

I'm really delighted to see that I forgot the $$$\pmod {998244353}$$$ in G. That's why I got WA.