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

Автор Rubanenko, 12 лет назад, По-русски

Hey guys! December Clash at HackerEarth is taking place this Saturday. The contest lasts for twelve(!) hours, so almost everyone can find a time slot to participate.

There are five tasks, four of them are standard algorithmic problems with partial solutions allowed, while the last one is an approximation problem which will allow to determine the best participant.

I think that this format of competition is interesting for everybody because newcomers can do better than stronger competitors with a help of "12-hours dedication" strategy, while the strongest guys will enjoy fighting each other on the approximation problem.

The complete problemset is prepared by laoriu. It was very exciting to work over the contest with him. You may know this guy from preparing the Codeforces Round 277 (Div. 2). I did the testing part for this contest and would like to say that I wouldn't be able to solve all the problems without laoriu's help. So I find the problemset pretty challenging and strongly recommend you to participate! I believe that both math_lovers and implementation_lovers will find something interesting for them.

Hope to see you at the scoreboard ;)

Rubanenko

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

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

Your HackerEarth link is incorrect

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

Is time penalty going to be used?

I don't see much point in making a 12-hour contest to accomodate for all time slots if you're going to penalize people based on what slot they choose.

»
12 лет назад, скрыть # |
 
Проголосовать: нравится -14 Проголосовать: не нравится

"Thank god we have codeforces" == true. Remember that.

I took me 5-7 minutes to login with git and fill 39% of profile because of very slow page loading.

They've suggested to give them my TC log/pass (LinkedIn asked my E-mail pass, I gave them a fake, why hackerearth didn't asked me to do the same? just a joke :D). Actually, that was the first challenge, here is my solution:

CHANGE temp TO pass
CHANGE pass TO "qwer" 
SUBMIT pass TO hackerearth 
CHANGE pass TO temp

One of their easiest tasks requires cin/cout speed-up and long longs, hopefully I got AC (site is designed as hiring platform, or smth else? I thought there should be job-interview tasks). I didn't know that ios_base::sync_with_stdio(0) is the first function that real-world programmer should learn after main(), I got +2 on their easiest task, I think now I'm doomed to work for food to the end of my life.

The first interesting problem I've coded has wrong testcase (I'm so glad to know it after the end of implementation process, but of course It's my fault that I didn't looked at the comments/editorials before even start reading the statement).

Also — you didn't gave me "First AC" badge, that hurts.

P.S. I have a constructive advice : change this smile in notification panel


to


because it's very cool to be honest

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

During contest time, are the submissions judged with pretest only, or full test?

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

What is "CGPA/Percentage" and why do I have to fill it in in order to compete? (More generally: why do I have to fill in random forms when I just want to solve some programming problems? All other sites leave stuff optional...)

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

A suggestion for scoring of problem 5:

First, I'll explain what's wrong with the current situtation:

  • As you can see, all the scores are too close to each other. And even some stupid greedy get you to > 80.
  • The subtasks in other problems have at least 10 point. So, in order to have some meaningful advantage from P5, I now need to optimize my solution to at least 95, which I have no idea is doable for me or not.

So, I would suggest a different scoring for future contests:

  • The scoring in statement should only be used to compare different solutions. It should not have any affect on the final scoring (the scores on Hall of Fame).
  • Scoring on Hall of Fame should be something like: 1st got 100, 2nd got 90, 3rd got 80... Then from 10th onwards, only get 10.
  • »
    »
    12 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +1 Проголосовать: не нравится

    As for me, this problem should break the ties between top contestants, which are expected to solve all standard binary problems :) So it does not matter what is the difference between them: either 1e-5 points or 90 points. Since only top3 get the goodies and other do it for fun, current system seems ok for me. However, your suggestion will also do this job, and probably may make it better for some contestants out of the top of the scoreboard. I will tell admins about it.

    Thanks a lot!

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

For P5, my code was literally "print 0" and it got 84.xxx points :D

Also, what is the solution for P3? I have a sqrt decomposition + treaps idea which I was unable to code correctly(some pointer problems in the treap struct)

And I get another tshirt. whoo /o\

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

Yay, I'm in top 3!

Is the intended solution for P2 generating function + Lucas theorem? I struggle for many hours to find 'purely' combinatorics solution, but could not..

  • »
    »
    12 лет назад, скрыть # ^ |
    ← Rev. 5  
    Проголосовать: нравится +14 Проголосовать: не нравится

    Intended solution for P2 does not require using of generation functions. To cut long story short:

    We are interested in number of sequences of length d + c such that a1 + a2 + ... + ad = ad + 1 + ad + 2 + ... = ad + c where 1 <  = ai <  = N If we apply bi = N - ai + 1 for d < i <  = d + c and bi = ai for 1 <  = i <  = d, then there is a bijection between these sequences(so the overall number of both is equal) and we can count number of sequences bi. It turns that sum of bi equals c * (N + 1). So the problem is reduced to counting the number of sequences of length d + c, 1 <  = bi <  = N and sum of all elements is (N + 1) * c, which can be solved by pure combinatorics :)

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

I liked the problems, thank you, laoriu!

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

I also liked the problems, as far as the time I had to compete went.