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

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

Hello, Codeforces!

dannyboy20031204 and I are glad to invite everyone to participate in Codeforces Round 772 (Div. 2), which will be held on Feb/20/2022 17:35 (Moscow time). This Round will be rated for participants with rating lower than 2100. You will have 2 hours to solve 6 problems.

We would like to thank:

Score distribution: $$$500 - 1000 - 1500 - 2250 - 2250 - 3000$$$

I hope all of you will enjoy the problems and have a positive delta. GL & HF ^^.

UPD1: Thanks for your participation! Editorial is out.

UPD2: Congratulations to the winners:

Div1 + Div2:

  1. jqdai0815
  2. eecs
  3. MatikaneTannhauser
  4. kotatsugame
  5. risujiroh

Div2:

  1. MatikaneTannhauser
  2. disorientation
  3. rainboy
  4. Bekzhan
  5. Vsinger_YuezhengLing
  • Проголосовать: нравится
  • +650
  • Проголосовать: не нравится

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

As a tester, I will tell you one possible solution to the problems:

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

As a tester, this round is really worth to participate in

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

clashing with feb cook off

update : cook off posponded to 21 feb.

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

As a tester, I'll say that I think this round is very good!

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

As a tester, I think the problems are very interesting. May the force of positive delta be with you!

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

As a tester, I think the problems are very interesting. Good luck and have fun!

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

As not a tester, I hope participating this contest won't make my social credit and my rating decrease just like my contribution

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

    I wanted to upvote your comment, but this stopped me from doing so :)

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

abc864197532 is a favorite to make it in the national IOI team and he will get gold medal in IOI 2022!

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

orzabc

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

As a tester and a statement verifier, I highly recommend participating in this contest! The problems are concise and well balanced, and I hope you'd find the problems (and editorial) easy to read.

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

As a tester, I want everyone to play osu! I hope everyone will enjoy this Taiwanese round.

»
3 года назад, # |
  Проголосовать: нравится +46 Проголосовать: не нравится
Schrödinger's contest :D

Good luck and have fun!

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

\abcorz/

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

As a friend of a part of testers, why didn't I even hear this contest before this post :(
Never mind, it's time for me to participate :)

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

\8wcporz/

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

too few 1600-1900 problems in recent div2's, anyone?

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

    The ideal order of the first three problems should be 800-900 -> 1100-1300 -> 1400-1700 I think

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

    Yea, going to be speedforces for me unless I get enlightened by algod.

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

Good luck everyone for the round. May every newbie become green in this round.

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

As a tester, I can confirm that the problems are all interested and worth reading. Good luck!

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

It's timing is clashing with IND vs WI match and Barcelona vs Valencia match on Sunday :(.

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

why is this blog still not at home page? eagerly waiting for this round , have always loved taiwanese contest problems :)

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

XDDDDD

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

I think this contest is gonna be cool.

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

Which is the lie the mask or my face

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

Taiwan No.1! Taiwan No.1! Taiwan No.1! Taiwan No.1! Taiwan No.1! Taiwan No.1! Taiwan No.1! Taiwan No.1! Taiwan No.1! Taiwan No.1! Taiwan No.1! Taiwan No.1! Taiwan No.1! Taiwan No.1! Taiwan No.1! Taiwan No.1!

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

taiwan pog

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

Codeforces contest question's are really good as compared to all other platforms.

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

who ask ???

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

It seems that there are some problems with the country filled in someone(who sets the theme)'s profile?

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

I hope to achieve new division as well as all participants

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

In this round, I will solve the problems and have some Waimai~

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

As a CPer, I don't care about politics at all. Let's just talk about problem quality/style/solution and make codeforces a CP community.

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

As not a tester, can we forcus on the contest, but not the authors?

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

Stop talking about Taiwanese Round and Chinese Round please, let's just participate in this round and you'll find out if it's interesting or not. By the way, Codeforces is not a place to talk about politics.

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

wow. I remember old dannyboy20031204 post about his fast level up in cp. And now he is problemsetter. Not Bad.

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

abc round on cf XD

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

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

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

Codeforces is not a place to talk about politics , if you want to talk about Taiwanese Round and Chinese Round , You are challenging China!

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

As a person writing a comment, I hope other people who write comments also write comments.

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

Remember that Codeforces is not used to talk about politics.It is home to people who like programming from all over the world.

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

Are you pretest 2,because i am not getting what's wrong with you

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

Can we just focus on the contest instead of the controversial political problems?

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

operationforces!

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

sadly Speedforces and I'm not fast enough :/
100 points could get me 600 higher position

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

my today contest scenario :3

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

How to solve the type of problems like D ?

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

    I just used dynamic programming where $$$dp_i$$$ stands for number of elements between the range $$$[2^{i-1}, 2^{i})$$$. Then, $$$dp_i = dp_{i-1} + dp_{i-2}$$$.

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

I think pretests of E are very weak. In my solution, I did two topsorts for each component and even tho I forgot to clear the adjacency list after the first top-sort, it passed pretests and I resubmitted.

Also, Problem A-E for me in this round was 5 mins of thinking and all the rest time spent in coding. Problems were not nice [A-E].

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

literally solved first 3 pblms by simply guessing. Hope pretests were strong.

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

how to do F? Is it some DnC magic?

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

    You can find that when the pair (x,y) is optimal , only if $$$\forall_{x<i<y} w_i>max(w_x,w_y)$$$.

    the number of such pair is $$$O(n)$$$.

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

Logic for C?

  • »
    »
    3 года назад, # ^ |
    Rev. 4   Проголосовать: нравится +3 Проголосовать: не нравится
    1. you can't modify the last two elements, so if $$$a[n-2]>a[n-1]$$$ that's impossible to do what's requested.
    2. if $$$a[n-1] \geq 0$$$, then it is always possible (always choose $$$z = n-1$$$)
    3. if $$$a[n-1] < 0$$$, then the answer depends on whether $$$a$$$ is already sorted.
»
3 года назад, # |
Rev. 2   Проголосовать: нравится +28 Проголосовать: не нравится

Hints for Problem D: Infinite Set

Hint 1
Hint 2
Answer to Hint 2
Hint 3
Answer to Hint 3
Hint 4
Answer to Hint 4
Generalizing for all n: Hint 5
Final Algorithm
»
3 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Would be more than grateful if someone could point out what I'm missing in my following submission to C: https://mirror.codeforces.com/contest/1635/submission/147096871

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

It was a blood lesson to use log instead of logf in the C++ 11 and later standards.

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

Was the idea of E something like this —

  1. Make a undirected graph according to input.
  2. If graph is not bipartite, print NO.
  3. Else, make another directed graph such that for each edge [u,v] in input, make an edge u -> v if [u,v] is of type 1, else make an edge v -> u.
  4. If there is a cycle in this new directed graph, print NO.
  5. Else, do a topo sort and give coordinates to each node in order they appear.
  • »
    »
    3 года назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    I didn't use step 3 and 4, but I did use a pseudo topsort where I first arbitrarily set one set of vertices of the bipartite graph as cars moving to the right, and the other set to be the cars moving to the left. Then, whenever a car moving to the left has destined cars all placed or a car moving to the right has irrelevant cars all placed already, we put this car into the queue.

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

    Yes, but not exactly.

    In step 3, the direction depends on both the type and bipartite colouring of u / v. Basically our colouring means L / R right? So we want L before R for type 2 and L after R for type 1. So we need to check the colour of u / v to set this direction correctly.

    Except for that one change, your post exactly describes what my submission does — 147085911

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

    I did almost the same you are describing, except that instead of toposort I used posorder in the dag (easier to code in my opinión).

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

Problem C, submited in 1:59:57..., and got accepted. Never give up. QAQ

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

    Same here. I submitted C in 1:59:49 and I also got AC! These last moment's AC gives so much joy.

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

My idea for D :

  • Sort $$$a_i$$$ in ascending order
  • Make sure that I haven't counted the $$$a_i$$$ before. What I do to check :
  1. Suppose that $$$a_i$$$ is odd, then I divide $$$a_i$$$ by $$$2$$$
  2. Else, I check if $$$a_i$$$ is a multiple of $$$4$$$, if it is, I divide $$$a_i$$$ by $$$4$$$, otherwise I stop.
  3. If at any given moment $$$a_i$$$ exists, then I won't count this $$$a_i$$$ as an answer

Now how to count what are elements "connected" to $$$a_i$$$, this is what I did :

  • Find the MSB (most significant bit) of $$$a_i$$$ assume it's $$$x$$$
  • So now I want to count ways to represent $$$p-x-1$$$ as the sum of some number of $$$1$$$ and $$$2$$$. I can simply count this use the sum of first $$$p-x-1$$$ fibonacci numbers

But I get wrong answer on pretest 5, can you spot it where my idea / implementation might be wrong? My code : 147094782

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

    I guess the recursion should've been $$$dp[x] = 1 + dp[x-1] + dp[x-2]$$$

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

      Umm why is that?

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

        let's say $$$p=4$$$ and you have a number $$$1$$$, which is $$$0001$$$ (in binary form) you can also have $$$0100$$$ and $$$0011$$$, and the possible numbers are thus $$$dp[1] + dp[2]$$$, but you still have to count the $$$0001$$$ itself, which yields $$$dp[3] = 1 + dp[2] + dp[1]$$$

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

          Yeah I also think about that.. but why wouldn't the sum of fibonacci numbers solve this?

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

    while(tmp > 1){

    Shouldn't this line be while (tmp > 0)?

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

      I don't think that's the issue... because I check if $$$tmp = 1$$$, then I check whether 1 is in the set

      But it's also impossible since it is guaranteed that $$$a$$$ is distinct

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

    Try this test:
    4 3
    1 3 4 7

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

      Thanks for your test case! I got it accepted. It is a silly mistake that I made

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

    Oh, I had this pretest getting me 7 times. I think there's a problem in choosing the correct i to summarise first I fibonacchi numbers: if i-th element of A is a degree of 2, (x-th), then you have to count first p-x-1, since our number has x+1 digits in binary system. Otherwise there are x digits and we have to count first p-x. Sorry if I'm wrong, but I think that's the problem.

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

Very interesting problems.

Thank you writers, testers and coordinators so much!

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

How does B work, there is some "trick"?

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

    my greedy approach is:

    Process from left to right. whenever we meet a peak at $$$a[i]$$$, set $$$a[i+1] = max(a[i], a[i+2])$$$ and keep moving.

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

      Ah, ok, I see.

      A local maximum counts only then as a local maximum if it differs from both adjacent elements, ie 2 3 3 2 is not a local maximum.

      I tried to solve a more complex problem :/

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

    always change next item A right after local max to max(local max from left, item right from A)

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

Why is the output for Problem E test 2 'No'?

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

Good problems but presets were weak

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

unfortunately ran out of time for problem D. anyone else solved it with sum of sums of fibonacci for unique items (in terms of reachable by 2*y+1 and 4*y)? will try submitting after system testing

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

sus likes to give feedback for contests instead of giving contest, after becaming pupil :)

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

missed some observations on C and ended up submitting a complicated solution very late

expecting a big rating drop, but it's also a good opportunity to find out my weaknesses

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

Great contest with interesting problems! plus amazingly fast rating changes!

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

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

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

    Rating only increases by one when cheaters are removed , so are there very less cheaters?

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

thanks for the fast editorial!

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

observationforces

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

Can anyone help me out with the 4th problem. I calculated the Fibonacci series and recalculated the sum in the vector v.Then simply for every val in the array calculated the possible root val and if its not visited previously marked it and added the precomputed val to the ans.147109778 . Its giving was on test 5

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

D is a great problem!

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

Finally some rating gain yay

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

Thank you for great problems and fast editorial. I really enjoyed solving D and E. Very good round!

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

I enjoyed this contest solved A,B and C

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

    Bro I am sorry if I demotivate you(I am just curious) , you have solved a lot of problems , how are you still green?

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

      Yeah bro! same question i asked from myself :(

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

        I think at this point , you should just start giving virtual contests instead of practicing from problem set. You already have learnt all the topics , now focus more on performing good in real contests.

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

As a first-time contestant for CF but years of experience on other CP contests, I kindly feel annoyed with that all problems in the contest are greedy related. Is this some norm for CF?

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

There was a fantastic round :) thanks.

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

D was a great question!Need both logic and algorithm ability.I like this problem.But somehow,as the rating contribution reflects,the gap between C and D are a bit big.