Codeforces и Polygon могут быть недоступны в период с 6 декабря, 22:00 (МСК) по 7 декабря, 00:00 (МСК) в связи с проведением технических работ. ×

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

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

Hi Codeforces!

On Dec/03/2024 09:25 (Moscow time) we will hold Codeforces Round 990 (Div. 1) and Codeforces Round 990 (Div. 2). Note the unusual starting time!

The harder problems of this round are based on the problems from the Final round of Yandex Cup 2024, Algorithms track, that will be held at the same time.

The problems are authored by elshiko, Flyce, MrLolthe1st, sokolow, stepanov.aa, TeaTime, Tikhon228, webmonster, 4qqqq with guest problems from myst-6, Vladithur, BledDest and me.

I'd like to thank daubi, Golovanov399, arbuzick, pperm, orz, AgafonovArtem, Qwerty1232, k1r1t0, Itsmylove1, Sofi_, and errorgorn for testing the problems, tourist for helping with the round, and MikeMirzayanov for the Polygon and Codeforces systems.

Because of official Yandex Cup Finals ends later than the round on Codeforces, the upsolving, solutions, and test cases will be closed until the end of the onsite contest, roughly 3 hours after the end of the Codeforces round. It is also forbidden to discuss the problems publicly until the end of the onsite round. Any comments here concerning the problems will be removed.

Good luck!

UPD: The contest has been delayed to make sure the online contest does not start earlier than the onsite one.

Congratulations to the winners!

Div. 1:

  1. jiangly
  2. hank55663
  3. noimi
  4. cxm1024
  5. Pyqe

Div. 2:

  1. RGB_ICPC8
  2. timer2024
  3. tietieAM
  4. ylzxxx7
  5. mion_sonozaki

UPD: You are free to discuss the problems now.

UPD: Editorial.

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

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

first comment :D

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

As a spectator, I hope tourist becomes Tourist again.

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

How come the announcement is so short. At first I thought it's a blog. I think something missing....

After EDIT : What a mysterious contest without any information. like : score distribution, number of problems etc.

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

    something IS missing.... the score distribution, but not that short.
    that's mainly because there are only few testers, and there are not any words to describe more about the staffs, which could be veeerrryyy long. heres a example from rayan announcement:
    Dear TheScrasse for his dedicated coordination efforts and lots of discussions about the problems and rejecting a big chunk of our problems for Problem C. He also contributed some problems to the contest, one of which was selected by the team!

    hey why downvoting me, I don't mean that long description is bad! just explaining why the announcement is short :(

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

    well not everyone has time or energy to post things like :

    • A super greeting (sometimes in native language)

    • ORZing co-ordinator , particular problem setter with sweet words with unlimited adjectives and follow up stories

    • Group photo in restaurant with problem setters

    • Some even start donation movement

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

    It is KAN's style to annouce very short.

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

7AM contest? Thank you, next :p

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

    Weak

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

    There's no way you're complaining. For me, literally every single contest is either at 6AM or 7AM depending on daylight savings. Sometimes 8AM if it is daylight savings and delayed start, or 1-2AM for unusual start time. This one is 10PM.

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

      Looks like a fellow PST member! I sleep early on weekends so I can do codeforces contests at 6:35 AM during the winter. I'm honestly happy about this 10PM contest, I think its a better time than 6:35 AM.

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

      I don't really understand the "There's no way you're complaining". I definitely do not complain about the general situation, where median CF round is at 15:35 for me. I will definitely not be participating in any round starting at 7AM, so that timing is bad for me and my initial post didn't mean to say anything else than "I am not a functioning person at 7AM" in a humorous way. In particular I didn't mean to say that the decision is objectively bad cause I am aware people in other timezones exist, neither did I want to complain like "why are all cfs round so badly timed?", cause I am aware I am in a favorable timezone for the vast majority of contests. Sorry if I came off as entitled or something

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

    Painful time, but I'll take what I get. At least this time I was able to go to sleep early so I wouldn't fall asleep while typing, and it was well worth it.

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

What will be the score distribution?

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

who are the finalist ?

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

Are finalists allowed to check the standings of the Codeforces contest during the round? (if not, how will this be enforced)?

Given that the Codeforces contest ends long before the final round ends, how is it ensured that discussion doesn't begin until after the final round ends?

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

    Best of Luck Benq

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

    Now that I read the announcement, why didn't they sync the contests' end times instead of start times? It's easier to control problems not getting leaked when contest is on-site.

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

will the rating changes for the edu contest will happen before this contest ?

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

Please change the start time, I have a school!◑﹏◐

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

What happens if someone changes from Div 2 to Div 1 (or vice versa) in Edu 172?

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

    The round starts too early after the end of the hacking phase of this Educational round, so there may not be enough time to run system tests and update the ratings before the round. Also, even if it were possible, changing divisions requires re-registration and it would be chaotic to let people do that in such a short time.

    So yeah, my assumption is that people are assigned to divisions according to their current rating, and the result of the Educational round won't affect it.

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

When will we know the score distribution?

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

which is harder?div1 or div 2

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

what a problem !!!!

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

What's the score distribution??

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

arcane s2 is masterpiece

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

The contest is in less than an hour. When will the score distribution get released?

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

    In less than an hour. I think they're gatekeeping score distribution because it's an on-site contest too and they may have different rules in place regarding stuff like this.

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

What's the score distribution??

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

because of the School Sports Day,I can't take part in this round(in fact,at weekdays students can't use computers during the time in school

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

Why did contest get delayed?

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

The contest has been delayed, and we want to go to sleep

edit:wish i was sleeping

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

Did it just get postponed by 30 minutes?

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

One refresh costed me 20 minutes :(

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

hoping for +420 :)

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

The more the contest delayed, the higher chance we're gonna lose our rating >:

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

Goodluck to everyone

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

Where is the score distribution?

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

KAN dont be lazy, upload the score distribution for div2 atleast

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

    I am participating just to solve problem E. Hopefully there are at least 5 distinct problems :)

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

score distribution?

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

Speedforces again. :(

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

I think good problems, thx to all

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

Please avoid discussing the problems in public, including but not limited to this blog, until 11:10 UTC.

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

2 hours is not enough at all, why not 2.5h or 3h???????? (for div.1)

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

    why not 4h??????????????????????????

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

    Trash round.

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

    True, having 2 hours in a Div.1 contest really feel like another speedforces round...

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

      Div1 CF rounds have been 2 hours long historically and still sometimes are. Speedforces isn't a time problem but a balanced difficulty distribution problem.

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

        I agree, that said, it would be nice if the round was a bit longer for slow solver like me (2.5h for example).

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

        Lack of balanced problemset AND time makes it into speedforces round. More time can somewhat compensate for unbalanced problemset.

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

          No, speedforces is the problem that occurs when there are way too many problems with way too few solutions and the rest with way more, so even people high up on the scoreboard are ranked mostly based on solving time. Giving more time will only slightly increase the number of successful solutions of those too hard problems, but also increase the number of people who end up with all easier problems solved, so it'll most likely make speedforces even more extreme. It's like trying to solve your gambling debt problems by betting all you own.

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

            "...so it'll most likely make speedforces even more extreme. It's like trying to solve your gambling debt problems by betting all you own." that doesn't make sense. In the end everyone who solved all easier problems would have a speedforces round (which wouldn't be more "speedforces" than without additional time), but those who solved one more hard problem would have more of a fair cf round experience (I mean being slow wouldn't punish them that hard). So I don't think giving more time would make it more speedforces.

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

              Those very few who solved one more hard problem. When there's a massive jump in number of solutions, there's a reason for it and that reason isn't just lack of time. Also saying "it doesn't make sense" isn't an argument.

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

                I think in this round, there was quite a lot of implementation, also for the harder problems. So time was really a decider if you could just program your idea in time for one of the harder problems.

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

                Even if the number of participants who solve one more hard problem is very few (which you don't know for sure) does it mean it is not worth giving more time? I don't see any harm of writing a 3 hour contest instead of 2 hour contest even if it helps like 20-30 people.

                Maybe for someone the reason is lack of time.

                Sorry, didn't mean to be rude.

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

    Trash round.

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

D looked so easy but turned out to be super difficult for me.

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

Can someone share the onsite final ranking!

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

nvm //I assume systests will also only run afterwards?

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

-ve delta for solving a-d :(

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

too hard.

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

I think I've seen problem 1C before

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

What was the initial start time (before it was delayed)?

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

а дорешку тоже только через 3 часа откроют?

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

System testing is over, when can I submit?

Edit: Ok, I see, about 2.5 hours more

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

why where's an easy 1C with TOO HARD D&E&F :(

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

man,what can i say,haha,oi out

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

Hello everyone!

We're currently streaming the final round of the Yandex Cup Algorithm track.

During the broadcast, we're also discussing the final problems with the competition judge. Join the stream

We're discussing some problems in Russian, and some problems in English as well.

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

The difficulty difference of this contest is too big.

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

pls someone check on orzdevinwang, hope he will be ok

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

...

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

Is this round rated?

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

Was this contest rated, cuz it's showing in the unrated contests. If it was rated, then do we have to do something while registering to attempt the rated version?

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

It is 11:32 UTC, but the editorial didn't appear... So how div2F?

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

For DIV2 C I solved the problem in O(n), but I didn't see that the constraint wasO(n2) . Why was it O(n2) when someone can solve it in o(n)...

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

    may be for DP solution, Edit : and its not n^2 actually even DP solution is possible is O(n) ig

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

      Yeah I too solved using DP in O(n). Is there any solution for greedy + sorting as mentioned in the tags??

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

        hint : consider we have some arrangement after swapping which would lead to optimum path, here from each column we can consider one value except for one column where we take both values in that column through this column we can shift from first row to second row, think abt it

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

Lesson learned: never ternary search on a series that had non-extrema duplicate... Costed me Div1C because of this newbie error.

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

    Could you elaborate?

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

    You also did a sweeping line algorithm and then tried ternary search with segment tree? That would have been my approach if I actually thought of it faster. What should have been used instead of ternary search? Or it the solution completely different?

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

      Instead of ternary search the series itself, binary search its difference (since that is monotonic) — you'd need the first element that the difference changes sign (equal to the position of the extrema).

      UPD: I think I made another fatal mistake... the difference is not monotonic.

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

      Finally I found the correct idea, and it's not relevant to the OG ternary search.

      Instead of searching for the $$$y$$$ that would yield maxima for each $$$x$$$, we search for the actual answer instead. We see that to reach a specific answer, there will only be a range of $$$y$$$ supports that for the half "behind" (having x-coordinate lower than current $$$x$$$), and another range of $$$y$$$ supports that for the half "infront". If those two ranges intersect, then such answer is possible.

      Added with pooty's comment (though I didn't do the exact bruteforce they intended), the number of searches could be lowered enough to fit into TL.

      My submission (very sketchy): 294633915

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

        I did something very similar (and made the same mistake you did with the ternary search idea when I tried to upsolve lol), my solution (294702082) ended up running in $$$O(n \log^2 n)$$$

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

    Can just do brute force, since the best answer can only increases as u move on one axis, so no need to check if its possible all the lower answers as you move (i assume your approach is similar to mine)

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

    Did you mean ternary search will not work on array like this 1 1 3 2 2?

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

      I meant something like $$$1 \, 1 \, 3 \, 2 \, 2$$$. Your case is binary-searchable.

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

        Yes sorry I didn't pay attention well, for the case 1 1 1 1 1 3 2, If you tried ternary search it will give 1 instead of 3, thanks for let us know this mistake. And in case of duplicate non extrema value, find the position where the sign change with binary search can also be tricky as 0 can be considered positive or negative, what should we do in such situation?

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

          Yikes, thinking again, I might screw up once again. The difference is not monotonic to binsearch.

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

            As in, if you found that a point where its possible get a minimum of k already, as you move along one of the axis, you just need to check if its possible to get a minimum of k+1, etc

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

    me too.

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

Why is input validator for c set to 1e5? Trying to hack and it gives me

Validator 'validator.exe' returns exit code 3 [FAIL Integer parameter [name=n] equals to 200000, ... range [4, 100000] (test case 1, stdin, line 2)]
close
»
38 часов назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

how can we solve problem E?

i thought finding median of x and y would be enough but it seems i oversimplified the question

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

What is the solution for div. 1 C?

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

    First let's binary search the answer, call this x.

    We'll check whether it's possible to obtain this answer by doing a sweep line on the x-axis. Now we need a data structure that supports quick point update, range query. Let's maintain 2 of them, $$$left$$$, and $$$right$$$, we'll add the points by their y-coordinates and whether they're on the left or the right of the current x position we're checking, add all the points such that it's x coordinates is at least equal to the current x to the right, else to the left. Now we can just binary search for the smallest y such that $$$left(-1e9. y)$$$ >= x, and $$$right(-1e9, y)$$$ >= x. After that, we can check if $$$left(y + 1, 1e9)$$$ is also at least x, same thing for right side, now we have our answer

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

      Thanks, I thought the question need some complex data structure or something like that and got completely stuck. Seems so easy now, thanks!

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

      Any good source to learn sweep line?

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

      Does this pass comfortably within the TL? I believe the second binary search along with the data structure queries would make the overall complexity $$$n\log^3{n}$$$ right? If we use a segment tree with the walk on segment tree technique then it can be reduced to $$$n\log^2{n}$$$, which is what I tried to do, but got TLE on my first submission 294679397.

      After this, I tried removing #define int long long, then it passed but the runtime was 2999ms, which is very very close to the TL (294679509). I then tried the same thing in C++23 instead of C++17, that passed in 2499ms.

      This is probably because of segment tree having a high constant factor, but using segment tree also reduces the complexity from $$$n\log^3{n}$$$ to $$$n\log^2{n}$$$, whereas in a fenwick tree there isn't this concept of 'walking on segment tree' right (I might be wrong here but I haven't come across such a thing in fenwick trees)? So I'm guessing with fenwick tree this approach will be $$$n\log^3{n}$$$ but with a lower constant factor, which is comparable to what I have submitted.

      I'm aware that there is another approach where we can do something like two pointers instead of the second binary search to find $$$y$$$ which would further eliminate a $$$\log$$$ factor, but without that, what would be the best way to go about the binary search approach?

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

hello can anyone guys explain he's solution for problem D and big thank !!

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

can D1C/D2E be done with geometric median?

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

    would it even be practical? That would require big number arithmetic. And I don't know if the constant/time complexity for those won't be too large.

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

    I don't completely understand geometric median but I think it would provide incorrect results for the following testcase:

    0 0
    1 1
    2 2
    3 3
    4 4
    5 5
    ...
    0 0
    1 0
    0 1
    1 1
    
»
37 часов назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

When Editorial?

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

Do you have a solution to the problem?

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

Problem "For the Emperor!" is very beautiful! GG to the author <3

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

    How to solve it (Div1 D), though? I tried some min cost max flow approach but couldn't figure out how to give a cost to the whole edge (and not to using a unit of an edge, as it is normally the case in min cost max flow).

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

      I created 3 nodes {s,in,out} for each SCC, which I explain below. Sorry it may not be very clear, but the general idea is to maximize the number of nodes "covered" by a path, which is done by having a cost of -1000 per covered vertex, and as a secondary objective, minimize the total number of paths that start with an original copy (by having a cost of 1 per path).

      So for example if at the end we find that the cost is -4997, it means we needed 3 original copies to reach 5 nodes (-1000 * 5 + 3).

      The edges for a SCC compressed into a node $$$U$$$:

      • $$$src \rightarrow U_s$$$ with capacity equal to the number of messengers in that SCC, and cost = 0. This node $$$s$$$ acts as a splitter to ensure we don't exceed the total number of messengers across the outgoing edges below.

      • $$$U_s \rightarrow U_{in}$$$ with capacity=cost=1. This is to minimize the number of paths that actually start at the vertex with an original copy of the plan (the required answer). We need at most one copy per SCC.

      • $$$U_s \rightarrow U_{out}$$$ with capacity = $$$\infty$$$ and cost = 0, this represents a path that starts at the vertex without an original copy, so we must've gotten the copy through some other path.
      • $$$U_{in} \rightarrow U_{out}$$$ with capacity 1 and cost of -1000. This will ensure we cover each vertex by exactly one path, given the small negative cost.
      • $$$U_{in} \rightarrow U_{out}$$$ with capacity = $$$\infty$$$ and cost = 0. This is to say any path can pass through this vertex if it needs to, but note that this is not "covering" the vertex. The previous edge with -1000 would be prioritized first, which would cover the vertex.
      • $$$U_{out} \rightarrow sink$$$ with capacity = $$$\infty$$$ and cost = 0. This indicates that we can end a path at any point.

      Finally the DAG edges between compressed SCC nodes ($$$U$$$, $$$V$$$) would be added between $$$U_{out} \rightarrow V_{in}$$$. You can check the addEdge calls in 294690574.

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

Div.1 F1 and Div.1 F2 are completely different problems. I don't understand why this kind of subtask is allowed in a cf contest.

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

Problem div2 E is very similar to 2016 USACO Platnium’s load balancing problem: https://usaco.org/index.php?page=viewproblem2&cpid=624. Just a cool observation.

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

https://mirror.codeforces.com/contest/2047/submission/294647087 can someone pls see what am i doing wrong , its coming wrong ans for 'hhmv', when i custom run it, its giving the correct output but in the codeforces tested result its coming wrong , i am new to cp in python, pls correct me where its wrong

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

    python dictionaries are not ordered, so what might be happening is that you and the judge are going through the items of y in a different order. For the "hhmv" test case in particular your code fails if h is the first character being checked, the first if saves h as the element with minimum frequency, and the second if block does not run because repl1 = 'h' now, so h doesnt get saved as the element with maximum frequency, so at the end the wrong characters get replaced

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

      Makes sense, and its an easy fix to make the minimal correct everytime, thank you so much for the help, much appreciated

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

I think 1C is too easy and 1D is too hard. Maybe adding one problem between 1C and 1D would be better?

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

Despite popular belief, I think this is an excellent contest because I gained quite a lot of rating. Luckily, I chose to solve E1 instead of D, since I noticed the points awarded is lower (so probably easier), and it paid off! Would like to see more contests of this sorts:)

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

Are there any tips about the problems in div2?

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

1E feels like a Div2C. I wonder why so few people solved it.

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

    I guess many of them were stuck in D. I personally think E1 and F1 are both much easier than D.

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

Editorial waiting room...

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

didn't participate in the contest, but I'm happy I managed to do a div2 D for the first time lol (without searching etc etc)

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

why this post is getting many dislikes ?

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

I don't understand why problems were oredred like this. In my opinion, F1 is much easier than D, and the gap between C and D is way too large. It may be better to put F1 (maybe also E1) between C and D, so that some participants could have something to do in the last hour, instead of wasting time on a much harder problem.

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

    The score distribution literally tells you that E1 and F1 are both easier than D...

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

rating of C question?

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

When do we have the tutorial?

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

Editorial when?

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

Passed more than 1 day but no editorial is published yet.

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

When can I read the editorial?