Livace's blog

By Livace, history, 9 years ago, translation, In English

Hi, Codeforces!

On monday, October 23rd, at 18:35 MSK rated Div. 2 round will be held. Participants from first division can take part out of competition.

The problems for this round were prepared by me. Thanks to Daniil (qoo2p5) Nikolenko, Nikita (FalseMirror) Bosov, Alexander (Alladdin) Proskurin, AmirReza (Arpa) PoorAkhavan, Ildar (300iq) Gainullin, Alexey (ashmelev) Shmelev for help in preparations and testing problems, Ann Izyumova for help with translation, Nikolay (KAN) Kalinin for the round coordination and Mike (MikeMirzayanov) Mirzayanov for amazing platforms Codeforces and Polygon.

You will have 2 hours for 6 problems.

Hope you will enjoy problems! Good luck!

Upd1: Editorial

Upd2: Congratulation to winners!

Div1

  1. Farhod
  2. vintage_Vlad_Makeev
  3. KrK
  4. rajat1603
  5. chemthan
  6. Barichek

Div2

  1. wzp666
  2. isybuq154
  3. SORONGON
  4. Sheng_D_Bao
  5. wxh010910
  • Vote: I like it
  • +187
  • Vote: I do not like it

| Write comment?
»
9 years ago, hide # |
← Rev. 3  
Vote: I like it -47 Vote: I do not like it
Spoiler
»
9 years ago, hide # |
 
Vote: I like it -118 Vote: I do not like it

Is it rated?

»
9 years ago, hide # |
 
Vote: I like it +14 Vote: I do not like it

As far as I remember, all the Codeforce Rounds in the past eight months have been rated unless otherwise stated before, during, or after the Contest.

»
9 years ago, hide # |
 
Vote: I like it +1 Vote: I do not like it

seriously guys , how two comments with same question and in the same time and they have the same color :/ , the first got upvotes and the other one got downvotes ?

»
9 years ago, hide # |
 
Vote: I like it -26 Vote: I do not like it

** ** *****?

»
9 years ago, hide # |
 
Vote: I like it -43 Vote: I do not like it

Is it Rated Contest or unrated???

»
9 years ago, hide # |
 
Vote: I like it +8 Vote: I do not like it

To all people who are asking whether the contest is rated: check the tags.

»
9 years ago, hide # |
← Rev. 2  
Vote: I like it -29 Vote: I do not like it

del

»
9 years ago, hide # |
 
Vote: I like it +110 Vote: I do not like it

The increase of the legendary word.

»
9 years ago, hide # |
 
Vote: I like it -24 Vote: I do not like it

Hope problem statements are understandable easily and the contest will enjoyable.

»
9 years ago, hide # |
 
Vote: I like it +11 Vote: I do not like it

I'm one point below div 1. So to me seems like a notorious coincidence

»
9 years ago, hide # |
 
Vote: I like it +58 Vote: I do not like it

I hope the difficulty of problems decreases gradually. In the last few contests, I have noticed a massive decrease in the number of submissions for the last two problems. The image shows one such contest. Note the actual number of submissions during the contest were quite less than that in the image. The same thing happened in yesterday's cook off on codechef.

»
9 years ago, hide # |
 
Vote: I like it -25 Vote: I do not like it

Oh, God why?

»
9 years ago, hide # |
 
Vote: I like it +3 Vote: I do not like it

Scoring distribution?

»
9 years ago, hide # |
 
Vote: I like it +48 Vote: I do not like it

delayed :P

»
9 years ago, hide # |
 
Vote: I like it +27 Vote: I do not like it

Delays, classic

»
9 years ago, hide # |
 
Vote: I like it -6 Vote: I do not like it

Wait for 10 minutes more :(

»
9 years ago, hide # |
 
Vote: I like it +22 Vote: I do not like it

Looks like they wanted the total registrations to reach 7k :P

»
9 years ago, hide # |
 
Vote: I like it +2 Vote: I do not like it

this delay means a lot of inqueue :(

»
9 years ago, hide # |
 
Vote: I like it +14 Vote: I do not like it

Thanks for the delay. I've just noticed that I didn't register for the contest before the delay.

»
9 years ago, hide # |
 
Vote: I like it +4 Vote: I do not like it

Please, no more delays.

»
9 years ago, hide # |
 
Vote: I like it -7 Vote: I do not like it

How to solve Div2 B Nikita And Strings.i didnt' able to solve it plzz help

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

    my solution is to write two nested loops with the end of the first part and the begin of the third part and maximize your solution and you can calculate the length of the final string with pre-calculations in O(1)

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

    brute force for 2 points to split the string into 3 parts..

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

      That gives TLE? I did same thing and got TLE

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

        yes, it will give TLE if you use any further loop inside 2 nested loops to iterate the string. you can use the 2nd loop to count the frequency of 'a' and 'b' at 2nd and 3rd part of the string. see my code.

»
9 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

Can anyone explain the problem 3? It seem simple but got WA.

»
9 years ago, hide # |
 
Vote: I like it +1 Vote: I do not like it

How to solve B ??

»
9 years ago, hide # |
 
Vote: I like it +4 Vote: I do not like it

was O(N*M*2*log(n*m)*8) too much for D

»
9 years ago, hide # |
 
Vote: I like it +3 Vote: I do not like it

How to solve C ?

»
9 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

How to solve D?

»
9 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

Does this problem have a logN per query solution? :

ask for number of occurences of x in range l,r

update range l,r by some d

»
9 years ago, hide # |
← Rev. 3  
Vote: I like it +13 Vote: I do not like it

A was clearly the hardest problem, as I didn't really understand the following sentence. :(

"It is known, that problem is from this contest iff its name contains one of Alex's friends' name exactly once."

So I made two submissions, both of which are incorrect but passed pretests. :P

»
9 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

Why in D grid is 1000 x 1000 (when time limit is 2 sec), it is too big for slower languages. Why not 500 x 500?

»
9 years ago, hide # |
 
Vote: I like it +7 Vote: I do not like it

E was just a tree version of http://www.spoj.com/problems/LITE/

»
9 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

Anyone can tell me how they did C? I did a recurrence but I got WA. if its odd then hit the middle one, then recursively destroy (i, mid-1) and (mid+1, j). If even then if mid=floor(n/2) destroy (i,mid) then destroy (mid+1, j) then hit mid. Anyone sees why this is wrong or what the correct answer is?

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

    I destroyed all even first. Then all odd. Then all even again. Passed Pretests. I dont know about sys tests.

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

    it isn't really a recursive structure since after hitting mid, you leave a guy with 1 health on mid-1 or mid+1, but all the other guys have health 2

  • »
    »
    9 years ago, hide # ^ |
     
    Vote: I like it -13 Vote: I do not like it
    1. Hit the even indices
    2. Hit the odd indices
    3. Hit the even indices

    Then you'll get a plan with n + n/2 steps

  • »
    »
    9 years ago, hide # ^ |
     
    Vote: I like it +1 Vote: I do not like it

    I had same mistake. I used almost the same solution.

    This solution definitely constructive a valid answer, but not in minimum number of bombs needed. I believe it fails when there is a configuration where some element appears once. Just check answer when N = 10.

»
9 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

Is the intented solution for F O(NsqrtN), and if it is, why are solutions with that complexity getting a TLE?

»
9 years ago, hide # |
← Rev. 2  
Vote: I like it +8 Vote: I do not like it

hack for A-> DDanilanil :)

  • »
    »
    9 years ago, hide # ^ |
     
    Vote: I like it +5 Vote: I do not like it

    Some other people forgot to check if the name does not appear more than once in the problem name. Simple hack : AnnAnn but your case is more tricky like AAnnnn since some people removes the first occurrence of the name and then recheck if it is in there one more time.

»
9 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

How to solve F?

»
9 years ago, hide # |
 
Vote: I like it +3 Vote: I do not like it

Any corner case for Div2 B ?

»
9 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

Can't D be done in O(n*m)? I see a lot of solutions with complexity O(n*m*k) passing pretests.

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

    Carefully observe the 'break' statement and calculate the complexity.

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

      No, I noticed pure O(n*m*k) solutions without any break statements passing the pretests.

      • »
        »
        »
        »
        9 years ago, hide # ^ |
         
        Vote: I like it +6 Vote: I do not like it

        I have passed the pretests without any break (see 31647369). However, I got AC after using breaks (31658960), but I do not think I should have gotten AC on a solution of O(nmk).

        I think that my solution would TLE on a test of the form below. The answer is -1.

        1000 1000 1000
        ... (..) ...
            (..)
        ... (..) ..#
        ... (..) .#.
        1 1 1000 1000
        
        • »
          »
          »
          »
          »
          9 years ago, hide # ^ |
           
          Vote: I like it +3 Vote: I do not like it

          I got TL on such test and I really don't understand why your solution got AC. That's mine — 31650304. It seems to me that they are equal to each other.

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

            Your source code has the break (actually return 0) when you pop (x2, y2) from the queue. My source breaks a little earlier, when (x2, y2) is pushed into the queue.

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

              Yeah! Thanks a lot! Actually, I have noticed it a minute ago too. Then, the question why your solution works faster then mine? Difference ~ 500 ms. Because of using vectors? 31661871

»
9 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

What should be the output for this in problem A : "DanilDanilOlya"

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

    NO

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

      but the question said, it will be "YES" if ANY ONE OF THE FRIENDS come exactly once.. Little confused, if exactly one of the friends should come exactly once, or any one of them should come exactly once !?!?

      • »
        »
        »
        »
        9 years ago, hide # ^ |
         
        Vote: I like it +3 Vote: I do not like it

        The last sample helps to understand which of them is true, doesn't it?

»
9 years ago, hide # |
 
Vote: I like it +5 Vote: I do not like it

How to Solve C ?

»
9 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

Ended up only solving D. A failed at systest because of stupid sizetype being unsigned(so 1-2=2^32-1 which isn't <1), B failed because i stopped searching for more As/Bs after finding B/A, while D was easy BFS(at least for me). I don't understand how did such a small amount of people solve D.

»
9 years ago, hide # |
 
Vote: I like it +7 Vote: I do not like it

Codeforces HACK round #442 (Div. 2)

»
9 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

If someone would be kind enough to tell me what went wrong with my E submission ( http://codeforces.me/contest/877/submission/31648193 ). Thanks

»
9 years ago, hide # |
← Rev. 4  
Vote: I like it 0 Vote: I do not like it

Is there something wrong with codeforces's servers ???

I have submitted the same code 3 times and each time I got run time error even though I didn't change anything in the code.

Can someone tell me why 31659189 solution is giving runtime error ?

My idea is to turn the tree to an array and then turn this array into sqrt(n) Buckets and then preform the queries on them to get a n * sqrt(n) solution

»
9 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

can anybody plz tell me how to solve div2 E.

»
9 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

Can anyone explain me why? 31638541

»
9 years ago, hide # |
← Rev. 2  
Vote: I like it +7 Vote: I do not like it

oh boy!

I got WA on D test 31

I used a simple BFS too and can't find any bugs in my code or algorithm

could sb help me with it :'(

»
9 years ago, hide # |
 
Vote: I like it -6 Vote: I do not like it

Can somebody tell why this code gave WA for case 49 — http://codeforces.me/contest/877/submission/31647784 in problem D?

»
9 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

Suppose if I have a map of size 4 in Div2 C: and I go with the sequence : 2 1 4 3 2 What's wrong with this? Aren't all the tanks damaged after following this sequence? Please Help!

»
9 years ago, hide # |
 
Vote: I like it +3 Vote: I do not like it

could somebody plz tell me why this simple bfs code fails on test 31 http://ide.geeksforgeeks.org/5QUsiv Thanks.

  • »
    »
    9 years ago, hide # ^ |
    ← Rev. 2  
    Vote: I like it 0 Vote: I do not like it

    It failed due to the break part in the 60th line. Supose you are in position xi, yi and you are going downwards. Now you are checking (xi+i,y) but this was already visited. Just because you have previously visited (xi+i,y) you cannot assume that the next cell (xi+i+1,y) (or any of the next reachable cells) is also visited, hence the break is incorrect. And without the break you get TLE.

»
9 years ago, hide # |
← Rev. 2  
Vote: I like it +27 Vote: I do not like it

Livace do you hate me? I'm in top 5 div1 :(

»
9 years ago, hide # |
← Rev. 2  
Vote: I like it 0 Vote: I do not like it

I solved B by the DP method. I tried to find the largest "increasing" subsequence. Wrong answer 15. Can anybody prove why my decision is wrong? My solve: 31644137

»
9 years ago, hide # |
← Rev. 6  
Vote: I like it +11 Vote: I do not like it

The problems were cool, but the pretests were really annoying since they actually didn't contain anything important (like tests 48 & 49 for D).

Only 2 D's from my room passed system testing. Out of 14!

»
9 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

In the Problem statement for C it was given that If we drop a bomb on the tank in nth cell then the tank will be half damaged and will move to (n-1)th cell.So if we start dropping bombs from nth cell and and go on until first and then in the very last we drop bomb on 2nd then it gives answer (n+1).

for example say we have n=3. So at first we have a configuration 1 2 3. After dropping the first bomb on third cell--> 1 23 _ (3rd tank moved to 2nd cell and half damaged) After dropping the 2nd bomb on 2nd cell --> 12 _ _ (3rd tank is completely destroyed and 2nd is half damaged and moved 1st cell) After dropping the 3rd bomb on 1st cell --> _ 1 _ (2nd tank is completely destroyed and 1st tank is moved to 2nd cell)

This is true for any number of cell.

Have I misunderstood something? I can't also see that problem now as the problem page is showing a error saying "Oops! Something broke on Codeforces. Do not panic. You can try to reload the page or go back to the main page . We already read the megabytes of logs, solving the problem."

»
9 years ago, hide # |
 
Vote: I like it +5 Vote: I do not like it

After I saw that contest will be only 2 hours long, when 6 problems, I thought maybe contest should be longer. Now I think that contest surely should be longer! Because three problems A, B, D are really tricky so interesting to hack.

»
9 years ago, hide # |
 
Vote: I like it +3 Vote: I do not like it

I feel like I've seen problem E before...

»
9 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

I have a question about div2 D.

Here is the statement of concern:

Problem Statement

Does this mean she can run UP to k or she has to run k unless she hits the edge/an obstacle? I assumed it meant she ran k, but my solution — 31656460 failed test case 5.

»
9 years ago, hide # |
← Rev. 2  
Vote: I like it 0 Vote: I do not like it

How should i understand div2 B correctly my friends? I thought a beautiful string is a string that can be cut into exactly 3 substrings described as in the problem. What did i do wrong? I can't even understand english nowadays!

»
9 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

in problem B can anyone please explain where my approach is wrong.

I first created blocks of a's and b's with their respective counts and then i consider the current block is the middle element and if it is 'b' then left and right part could be anything (i.e. bba, bbb, aba, abb) and if current block is 'a' then (aaa, aab, baa) and find the maximum among these (to do this i just calculate the total 'a' and 'b' in the left and right substring respectively).

code : http://codeforces.me/contest/877/submission/31666767

please help me where i am wrong !

»
9 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

Problem F Why unordered_map is even slower than map? Both TLE on test 11

unordered_map use 1450ms on test 10 map use only 576ms array use 249ms on test 10

»
9 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

31659292 877B - Nikita and string Hey can somebody help me find out what is wrong with my solution to B — Nikita and String. I got wrong answer in test case 37. Thanks.

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

    It's easy to see. You did not consider the case when the string contains only a's.

»
9 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

In div2 D, what ever i do, i always get MLE at test case 5 with this solution:31687090 .why? How can i fix it?

»
9 years ago, hide # |
 
Vote: I like it -8 Vote: I do not like it

Where Can I find Tutorials ?

»
9 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

anyone can help to explain why in second sample case for problem C. Slava and tanks can destroy all the tanks? The solution doesn't drop a bomb in 4th cell.

»
9 years ago, hide # |
 
Vote: I like it +3 Vote: I do not like it