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

Автор SlavicG, история, 3 года назад, По-английски

Hello Codeforces!

magnus.hegdahl and I are glad to invite you to Codeforces Round 767 (Div. 1) and Codeforces Round 767 (Div. 2) which will be held on Jan/22/2022 17:35 (Moscow time)! This round is rated for both divisions.

In each division there will be 6 problems and 2 hours to solve them.

We would like to thank the following amazing people:

Score distribution:

Div. 2: $$$500$$$ — $$$750$$$ — $$$1250$$$ — $$$1500$$$ — $$$2000$$$ — ($$$1500$$$ — $$$1000$$$).

Div. 1: $$$500$$$ — $$$750$$$ — $$$1250$$$ — ($$$1000$$$ — $$$750$$$) — $$$2250$$$ — $$$3000$$$.

UPD1: ak2006 and namanbansal013 have prepared video editorials for most div. 2 problems that will be available on ak2006's channel and namanbansal013's stream

UPD2: Editorial is out!

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

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

As a tester, I am asking for your precious upvote.

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

As a tester, pls help I can't figure out a decent as a tester comment

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

As a tester, I think problems are great. I highly encourage you to participate in this contest and check out all the problems.

Tip: Having a cool profile picture like mine might help you do better :)

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

    Tip: Having a cool profile picture like mine might help you do better :)

    So that means I will AK that round?

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

As the person who has seen the tester irl for 1 time I can say that he is very great dude (vanilla confirmed)

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

As a participant, thanks for putting the contest on a weekend!

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

As a Mihai supporter I wish all the Mihai supporters to get +300

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

upvote announcement blog or negative delta

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

Time to upsolve: https://codeforces.me/contest/1537

I actually did terrible that contest on vc and wish for more luck this weekend :prayge:

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

This is a very well prepared round!!!

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

As a tester, I would like to express my appreciation for the setters and coordinators for their efforts to make this round as enjoyable as it can be, and to invite everybody to participate in this contest!

P. S. also my salary is contribution plz upvote

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

as a tester, i'm late for commenting

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

as a tester, I think the problems are great. Recommend participation.

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

As a tester, the problems are interesting and you will enjoy thinking about them and solving them.

As the video editorialist for most div 2 and some div 1 problems I have tried to make the solutions intuitive and simple to understand so do subscribe to my channel

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

Yet another Mathforces contest O_o

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

Good luck! I wish every grey become green!

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

Looking forward to this round!

Wish everyone good luck&positive delta

Btw, that's a great score distribution

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

Good score distribution! Wish everyone good luck and positive delta)

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

As in this contest, having official video editorials for every contest will be a great idea. This will motivate the content creators in terms of money and views and will be good for the whole CP community as well!!!

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

As a tester, I had found that one of the problems could be solved by Googling. But now it's substituted with another great task, mission accomplished! Also, the round is really entertaining, please participate, remember to read all the problems and stay healthy <3

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

UpvotesForces

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

Wow that's quite a list of testers! Is it documented somewhere how to volunteer for testing a round?

I'll earnestly try to participate in yours, but, like most rounds, it's 6:35am in my timezone :|

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

    In Romania, we call the process to volunteer for testing as "sa ai pile".

    In all seriousness, the problemsetter is the one that asks you first to test their round. Then, it is up to the candidate tester whether they accept or not

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

      Ah, I thought tester responsibilities were something more formal curated by Codeforces coordinators. Gotcha, thanks for clarifying!

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

glhf

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

Can't wait to see a new, well-prepared, interesting and fun cf round! GO-GO-GO SlavicG!

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

As a tester, I believe all of you will enjoy these excellent probelms.

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

mihai

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

Score distribution announced early.

Thanks

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

74TrAkToR is coordinator, so we should expect combinatoric problem which is in wrong order.

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

My gut feeling is saying that the problems in this contest gonna be very interesting, gonna get +ve delta

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

WA is certain but it doesn't have to be ugly

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

A palindrome round (767). Nice :)

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

Magnus from Norway. Sounds familiar to me...

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

Can we see Mihai in problemset?

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

First Norwegian round. (I think...) Let's go!!!

magnus.hegdahl orz

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

I wish you all to get repeated TLE's and passed pretest but gets failed in system testing may your code gets skipped and you get a minimum of -100. all the worst :) . may you get down by h whole level.

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

I am a new programming learner. I have just finished the basics of C programming. Can/Should I participate in this contest?

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

I hope the server won't break down again(

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

Wish all participants enjoy tasks and get higher ratings! ^-^

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

Hope this contest completes smoothly

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

Cheaters better not cheat. Else I'll whoop your ass

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

Good Luck peeps!!

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

abacaba

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

Why can't I submit my code?

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

in div2 F1 what does "score of the optimal game" mean? average of all the possible scores? SlavicG

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

I think that shuffling problems in div.1 is not a great idea.

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

Speedforces

Meme

How to solve div2E.
And is div2F1 some standard problem as some div1 participants solved that instead of div2E.

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

    Not only they
    I just looked at div1 stat and decided to solve F1 instead of E and it worked out

    Pretty simple dp

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

    2E ended up being a logic puzzle instead of a coding problem. Once you solve the logic puzzle, the implementation becomes O(n^2).

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

Ad-hoc-forces!

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

Problem A to D are too easy, especially Div1 D is much easier than usual .

And I have a O(nlog^2n) solution to E , but it got TLE . So Sad ...

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

Seems that Div.1 E has a way too strict TL? My $$$O(n\log^2 n)$$$ solution keeps going TLE. Or maybe the expected solution is $$$O(n\log n)$$$ then just ignore me.

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

    Yeah, O(n log n) is intended.

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

      Well, I have come up with an $$$O(n\log n)$$$ solution (requiring $$$O(1)$$$ LCA), and it seems a bit harsh to code. I guess it would be better to set both $$$O(n\log^2 n)$$$ and $$$O(n\log n)$$$ solutions as acceptable. Anyway great contest!

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

        +1

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

          My $$$O(n\log^2)$$$ solution didn't pass but after changing it to $$$O(1)$$$ LCA it passed.

          But I heard that it is not needed, since we only need to find the vertex with the smallest $$$dfn$$$ and the one with the largest $$$dfn$$$.

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

            An interesting thing is that I first read the statement wrongly . I mistakenly think we should work out the max of sum. I found it in the last 10 minutes when checking the example . So I changed some parts quickly, and have no time to make it faster.

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

              In fact, me the same, I even finished my 3k code and then found myself not passing the sample.

              But I used Kruskal and the problem become asking sum again!

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

        O(1) LCA. Never heard of that. At least now I know something like this exists. Thanks for your comment.

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

How To solve C and D of Div2 ???

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

    D was DP i guess and I solved C as I build reverseMEx array(mex till i from n) and then brute-forced from being (might get TLE in sys testing)!

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

      If any of the strings in the list is a palindrome, the answer is yes! If there is either zyx | zy for any string xyz, then the answer is yes! The trick is to check for zy because we are only storing strings in hashmap. To do this, we find for every ch in small alphabets if reverse(zy(ch)) belongs to hashmap then the answer is yes! Otherwise, the answer is no.

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

    C: The basic idea here is to keep taking elements until the mex for the current set of taken elements cannot be increased by any element present in the remaining elements.

    Now to increase the mex of the current set of elements, mex itself is required to increase itself. So, I kept all the elements in a multiset and then checked if the mex of the current set of elements is present in the remaining elements or not. If it's not present then we can start a new set of elements from here. Else, just take the current element and then increase the mex till it can be increased.

    Now to increase the mex, I have created a hash table and put the current elements in there. Now, until the next element is not present in the hash table, keep increasing the mex. This is the basic idea. Code

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

    D was mostly observation.

    Trivial Case: If the input strings are palindrome, then return True.

    Observations:

    Now the palindromes that can be created will be of length at least 4. If you break a palindrome of a given length only in segments having 2 and 3 only. Then the first and last segment will also be of length 2 or 3. I can construct a palindrome out of the first and last segment only. So I can have the following combinations of lengths:

    • 3 3
    • 2 2
    • 2 3
    • 3 2

    Now all that's left to do is check if we can create a palindrome considering the current string as the last part.

    For this purpose, I can have previous strings in a set and then reverse the current string and check if it is present in the set or not. This part is easier said than done. Have a look at my implementation to understand it better. Code

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

I regret ever making fun of line trees, I didn't pass E because I had no template for them QAQ

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

Only If I got 30 more seconds I would have submitted D,!!

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

Great contest

but feel sad for sitting there trying to solve 2E for 70min but stuck at the last step

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

Is there a formula for 1628D2 - Game on Sum (Hard Version)?

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

    $$$O(m)$$$ formula (can maybe reduce to $$$O(1)$$$)) after preprocessing:

    $$$\displaystyle k * \sum_{a = 0}^{a = m} \frac{\binom{n - a - 1}{n - m - 1}}{2^{n - a}}$$$

    if $$$m < n$$$. If $$$m = n$$$ then the answer is simply $$$k * n$$$.

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

FML

I found an $$$O(n)$$$ formula for D2 instantly, but I kept treating $$$n, m, k$$$ as queries and completely forgot that $$$O(n)$$$ would just solve the problem...

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

    Please share the formula.

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

      For $$$m > 0$$$,

      $$$ \displaystyle \frac{k}{2^{n-1}}\binom{n}{m-1} + k\sum_{i=1}^{m-1} \frac{i+3}{2^{n-i+1}} \binom{n-i}{m-1-i}$$$

      Turns out this on OEIS as A193605 if you remove $$$k$$$ and multiply by $$$2^{n-1}$$$.

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

      Here's some intuition for how to find the formula.

      Take your DP solution for D1 and formulate it as a path on grid problem: you start at $$$(0, 0)$$$, you want to reach $$$(n, m)$$$, you have a $$$\frac{1}{2}$$$ probability of moving to $$$(i + 1, j)$$$ or $$$(i + 1, j + 1)$$$ from $$$(i, j)$$$, and if you reach a cell such that $$$n - i = m - j$$$, you can only transition to $$$(i + 1, j + 1)$$$ and add $$$k$$$ points to your score. Answer is expected score over all valid paths. Now you can count grid paths with binomial coefficients and powers of $$$\frac{1}{2}$$$.

      (The exact indexing might look different depending on your DP.)

      Submission for Reference

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

      ((SUM(i=0 to m-1) (m-i)*(n choose i))/2^(n-1))*k

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

    Same, smh

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

I declare myself the dumbest person on this planet when I realized after 40 mins that string of length 1 is always a palindrome, so you only need to handle strings of length 2 and 3.

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

    I never realized it at all, so you are definitely not the dumbest :|

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

    I realized it only after reading this comment.my code had the cases (1,x,3) for all 1<=x<=3 as well(the numbers denote the length of the string)

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

Can someone tell me what is wrong with this code for D? I broke it into cases...failed pretests Code

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

Problem div2 E is my favorite problem I've seen in recent memory. :)

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

How to solve div2 promblem E?Is it should be divided into 2 * 2 grids to solve?

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

I could think out diagonal XORsum of problem E 10 minutes before contest over. that was close

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

    Unfortunately, I only got it 5 minutes after the contest (arghhh). As an aside, F1 looked pretty nice. Too bad I didn't have enough time to solve it. You don't see DP with fractions too often.

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

A-D great stuff, thanks!

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

Sometimes there are problems having very intuitive algorithms (but to prove their correctness requires time) so I'm wondering whether there are people eagerly submitting such intuitive algorithms without formally proving them. Those submissions still can get Accepted when they are lucky.

After participating in several contests at Codeforces, I realize that perhaps I have to submit things very quickly, without carefully thinking about their correctness, otherwise I will get a low rank because of late submissions.

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

    Do you think this is good? In other words, do you think it is common and acceptable to do such quick but not reliable submissions in competitive programming?

    (I don't like unreliable things, so I feel uncomfortable when I have to do such quick submissions.)

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

    -is-this-fft- mentioned his style of solving problems in this Blog

    Piece of text, Para4 in the blog

    I feel after a certain point it becomes difficult to solve problems without proving.

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

who did place hacks format before output format in 2E? WHO DID THAT?

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

loved the contest! strong pretests and amazing problems ... :)

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

Me reading Mihai as Mithai :)

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

I forgot to check if the given strings are palindrome and failed on Div 2 D

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

Peculiar Movie Preferences Video Solution.

Don't forget to like and subscribe!!

https://www.youtube.com/watch?v=xBkDyMHVTJ0

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

Does anyone realise that after a few hours there will be the first 4000+ rated user in entire history of codeforces?

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

очень классный раунд, спасибо авторам!

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

Ratings updated preliminarily. We will remove cheaters and update the ratings again soon!

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

Mihai is very abnormal person, i mean look at his movie choice.

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

My Submission Div2 C it is giving tle on test 5 can someone plzz help me out ??

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

    The link is broken. Didn't understand the idea, but if it's only tle, maybe it's because of initialising of set with 200000 values for each run.

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

      yaa exactly this was the error. I changed it to n and it is accepted now. Thanks for pointing out. Dont know how can i do this blunder.

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

Could someone please point out my mistake for div. 2 D? Here is my submission

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

As the Victor from 1628C - Grid Xor, why did you, mesanu, steal my grid????

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

    As the Mihai from all the problems, if I steal your grid, I get your IOI medal.

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

      As your RMI team leader, I challenge you to get one this year and return mine, please

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

My AC submission 143728411 for Div2 C/ Div1 A gives a runtime error on this test case:

1
2
3 4

I'm not sure why this happens. Could someone perhaps explain why this happens?

Update: Nvm, this test case isn't valid.

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

accidentally put this comment not in the editorial :/

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

Hey, Div 2 Problem B i submitted the same code but in different C++ version, in C++ 17 it got accepted but in C++ 20 it gave me wrong answer and because of this i had 3 wrongs submissions, can someone please tell me why this happened, like the code work in one version but in the other newer version it gives WA?
Code:
- C++ 17 (AC) : 143715633
- C++ 20 (WA) : 143715622
Any help is appreciated!

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

    Short Answer: Never trust floating-point arithmetics. Use integer arithmetic instead to get accurate results.

    Long Answer