awoo's blog

By awoo, history, 14 months ago, translation, In English

1901A - Line Trip

Idea: BledDest

Tutorial
Solution (Neon)

1901B - Chip and Ribbon

Idea: Roms

Tutorial
Solution (Roms)

1901C - Add, Divide and Floor

Idea: BledDest

Tutorial
Solution (awoo)

1901D - Yet Another Monster Fight

Idea: BledDest

Tutorial
Solution (vovuh)

1901E - Compressed Tree

Idea: BledDest

Tutorial
Solution (Neon)

1901F - Landscaping

Idea: adedalic

Tutorial
Solution (adedalic)
  • Vote: I like it
  • +47
  • Vote: I do not like it

| Write comment?
»
14 months ago, # |
  Vote: I like it 0 Vote: I do not like it

In problem D, I am struggling to understand the statement. According to my perception, the answer to the first test case should be 7. I will choose i = 4. The chain of the indices to strike will be like 4->3->5->6->2->1. Please someone correct me.

  • »
    »
    14 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    The spell's power must cover the worst-case scenario, given the chosen location.

    • »
      »
      »
      12 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      then if we consider i=1 as a case that x must be atleast 9 right?

      • »
        »
        »
        »
        12 months ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        you can actually choose the value of i, so despite x have to be 9 when i=1, you can choose other i instead of 1

»
14 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Reached Specialist, in this round.

»
14 months ago, # |
  Vote: I like it +3 Vote: I do not like it

problem E is a art.

It takes a lot of effort to achieve perfection in whatever any direction.

»
14 months ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

for C, if we have min = 2 & max = 11. since min is even then x=0 & min = 1, max = 5 now if I go according to the editorial. it would take a total of 4 steps (1,3 -> 1,2 -> 1,1). but when min = 1 & max =5, I can take x =0 and reduce in 1 step less (1,2 -> 1,1) total of 3.

am I missing something here?

  • »
    »
    14 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Of course. When min=1 and you don't add 1 then 1/2 = 0

    It's easier to think about it another way: if max is odd then by adding anything will not gain any steps reduction.

»
14 months ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

Problem D: If it's necessary to check all indices as a first target point (according to tutorial), then why problem statement says that "Vasya chooses the first target optimally"?

  • »
    »
    14 months ago, # ^ |
      Vote: I like it +4 Vote: I do not like it

    Vasya chooses the first target optimally

    How would you figure out the optimal first target without checking all indices as first target point?

    • »
      »
      »
      14 months ago, # ^ |
      Rev. 6   Vote: I like it 0 Vote: I do not like it

      Oh yeah.. I got it. We need to take the minimum of these max values for an optimal first target (if I'm not wrong).

      Thanks...

    • »
      »
      »
      12 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Can't he choose the max element as the 1st target?

      • »
        »
        »
        »
        12 months ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        That's not always optimal.

        4
        4 5 2 1
        

        If we start at monster $$$2$$$ with health $$$5$$$, the attack might take the path $$$2\rightarrow 3\rightarrow 4\rightarrow 1$$$ and we need to start with $$$x = 7$$$. If instead we start at monster $$$1$$$ with health $$$4$$$, we can start with $$$x = 6$$$.

»
14 months ago, # |
  Vote: I like it 0 Vote: I do not like it

[Problem C] Can someone help me understand why choosing $$$x$$$ as the average between $$$max$$$ and $$$min$$$ (or $$$a$$$ and $$$b$$$) doesn't work?

I guess it has somethings to do with parities and rounding down, but I honestly cannot figure it out myself.

  • »
    »
    14 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    In addressing the question of why choosing $$$x$$$ as the average between the maximum ($$$b$$$) and minimum ($$$a$$$) values doesn't always yield the optimal result in problem C, it is essential to understand how the parity effects the calculations.

    We categorize the scenarios based on the parity of $$$a$$$, $$$b$$$, and $$$x$$$. By brute force, we identify eight possible parity combinations, but let's consider two illustrative examples:

    • When $$$a=2i$$$, $$$b=2j+1$$$ and $$$x=2k+1$$$, the difference is $$$\left\lfloor (b + x)/2\right\rfloor - \left\lfloor(a+x)/2\right\rfloor = j - i + 1$$$.

    • When $$$a=2i+1$$$, $$$b=2j$$$ and $$$x=2k+1$$$, the difference is $$$\left\lfloor (b + x)/2\right\rfloor - \left\lfloor(a+x)/2\right\rfloor = j - i - 1$$$.

    In the remaining six cases, the difference is $$$\left\lfloor (b + x)/2\right\rfloor - \left\lfloor(a+x)/2\right\rfloor = j - i$$$.

    The optimal strategy emerges from these calculations. Matching the parity of $$$x$$$ with $$$a$$$ tends to minimize the difference. This is because the difference doesn't depend on $$$k$$$ and different parity can lead to a larger difference when $$$a$$$ is even.

    Now, regarding your specific question, if $$$a=4i+1$$$ and $$$b=4j$$$, then choosing $$$x$$$ as the average, $$$x = \left\lfloor (a+b)/2\right\rfloor = 2(i + j) = 2k$$$, does not align with the optimal strategy. In this case, $$$x$$$ is even while $$$a$$$ is odd, and as we've established, matching their parities is crucial for optimality.

    • »
      »
      »
      10 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Can we also say as long as parity of a and x matches it doesn't matter whatever x is since difference is independent of k ?

    • »
      »
      »
      9 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Please take a look at my submission, I used the midpoint of the min and the max rounded up.

      Submission Number: 259266474

»
14 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Why there's a tag of binary seach in problem D: although it seems at first glance that we can go for a approach like BS. But then realised there's nothing to do with BS.

»
14 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Thanks for the fast editorial !

»
14 months ago, # |
  Vote: I like it +12 Vote: I do not like it
»
14 months ago, # |
  Vote: I like it 0 Vote: I do not like it

For problem D, my after-contest solution only involved checking the first location, the last location, and the location with the monster that needs the most spell power to kill.

Submission: https://codeforces.net/contest/1901/submission/234308715

Is the test data weak, or is the strategy described above valid? Thanks.

»
14 months ago, # |
  Vote: I like it 0 Vote: I do not like it

In problem D, according to my understanding the worst case for 2 1 5 6 4 3 should be 2->1->5->6->4->3 and that would not be possible with 8 damage ?

  • »
    »
    14 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    We are optimally selecting the start point, then we have to consider worst case after selecting start point

»
14 months ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

nvm I set my dp = -1 if it's not visited but I forget that the dp might be negative

»
13 months ago, # |
  Vote: I like it 0 Vote: I do not like it

There is a small error in the editorial for problem D. The minimum spell power needed is $$$\displaystyle \min (\max_{j = 1} ^{i - 1} a_j +(n - j), a_i, \max_{j = i + 1} ^ {n} a_j + (j - 1))$$$ instead of the original $$$\displaystyle \max (\max_{j = 1} ^{i - 1} a_j +(n - j), a_i, \max_{j = i + 1} ^ {n} a_j + (j - 1))$$$. Guess it's just a typo.

  • »
    »
    6 weeks ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    comment your guess after running your code or dry run

»
11 months ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

For problen D, for this case

6

1 6 1 1 6 1 , the accepted ans is 10, but shouldn't it be 9?

1 6 1 1 6 1

5 6 7 8 9 4. <--- Like this?