By I_love_Hoang_Yen, 9 years ago, In English

So few minutes ago I answered this question on Quora. It felt like a good answer (because it has pictures), so I would like to share it again here.

If you don't see the images, just click the Quora link above

Many people tell you that solving lots of problems and you will become red on Topcoder/Codeforces one day. It is true, and is the only universally approved way in competitive programming community, but actually it is just half of the story. Let me first explain to you the 'science' of problem solving (which is not very scientific, since it was only developed by myself).

For each problem, in order to solve it, you must jump over a gap. It can be either a difficult implementation, or some hard-to-see observation, or difficult algorithm, etc.

Image and video hosting by TinyPic

For me, some problems are very easy (e.g. Codeforces div 2 A, B..), because the gap feel so small to me, and passing through them feels just like casual walking.

Image and video hosting by TinyPic

Some problems are very hard. The gap is just too huge, or there are many many gaps, and you can get stuck in the middle because you're too tired after maybe first gap.

Image and video hosting by TinyPic

Using this science, we can explain a lot of phenomenon in the competitive programming world:

  • Some guys learn very fast, got to div 1 only after like a couple of weeks after he just started programming: Some people are born with high jumping ability (problem solving skill). They can jump over average gaps easily.
  • The more you train, the better you become: Of course, if you jump around all day, you must be somewhat better at jumping through gaps, and thus being able to solve more difficult problems in less time, since you don't need lots of mental preparation or warm up excercise before jumping.

But.. it also means that, if you just solve too easy problems, you can still only walk through small gaps. You may walk through gaps faster, but you are still unable to jump.

So yes, the best strategy to improve your competitive programming skill is to practice a lot, but you must solve gradually harder problems, not just the easy ones. Get out of your comfortable zone and challenge yourself. For example, if you solve problems on Codeforces:

  • Sort by number of people who solved it.
  • Start with page 1
  • Solve some problems. If you feel you can solve them in like 5-10 mins, immediately ignore the other problems, move on to page 2
  • Continue until you feel challenged (e.g. need like an hour to solve / can not solve at all / ...).
  • Try really hard, but if you fail, look at editorial, ask for solutions, ...

Full text and comments »

  • Vote: I like it
  • +563
  • Vote: I do not like it

By Alex7, 9 years ago, In English

Participating in a big competition like IOI or ICPC can be intimidating, the worst thing that might happen to you is that you manage to get nervous enough to enter that adrenaline-fueled fight or flight state, you start feeling that you need to get out of the contest fast. An easy bruteforce solution that would take you 2 minutes to code in a normal environment suddenly requires 10 minutes, or at least that's what happened to me the last 3 major competitions I participated in (APIO 2014, IOI 2014 and APIO 2015), while it wasn't very noticeable in APIO 2014 -I quickly forgot about it because it was my first medal a bronze one- and I blamed that state on sickness in IOI 2014, after APIO 2015 it became clear to me that I'm making the mistakes over and over.

If you're really new to competitive programming, someone who doesn't really care much about the result, or someone who's trained since the age of 6 you probably won't relate to these issues, but after I've done some research I realized that this is more common than I expected. The same pattern happened to me every time: I had the right ideas, I got WA on my first submission, I panicked and then my brain basically stopped working (and of course all the known symptoms of the fight or flight state).

I remember talking to someone after day 2 in IOI 2014, he told me: "When I read the problems, my brain stopped working I didn't even understand them, after the contest I read them again and came up with 243 points worth solutions". And his solutions were very neat and differ to the tutorials that were given to us after the contest.

So the point that I'm trying to make is: If I and everybody who suffers from the same problem, could solve problems during a competition as big as IOI with the same level of problem solving skill we usually demonstrate in any other environment, our results would differ greatly.

Have you ever had those issues? Did you manage to fix them?

Also in case of IOI-like competitions, what is your general strategy?

UPD: I got a bronze medal in IOI, the advice bellow is really helpful

Full text and comments »

  • Vote: I like it
  • +344
  • Vote: I do not like it

By MikeMirzayanov, 9 years ago, translation, In English

It is really great to spend holyday usefully. During the Victory Day I not only visited the Victory Park with family, congratulated people closed to me, watch the Victory Day Salute, but also I've started to get rid from codeforces.ru

Yes, it is not a mistake. We are moving forward to use the only domain codeforces.com. It will make many thing better: better navigation, better page statistics, better pagerank and other metrics.

Of course, all links to codeforces.ru is redirecting to the appropriate page on codeforces.com now. In addition, for now it applies only to GET-requests.

Observant visitors have noticed that recently changed how we deal with images. Now, if you insert a link to image into the text of a post/comment, then when you save it predownloaded and stored on Codeforces, and link is replaced by to use our domain. This solves several problems: missing or spoofed pictures in old posts/comments, the restriction on the number of views in original image server, we resize too large images to smaller size, now we be sure to use https for images, which means we are closer to use https.

Full text and comments »

  • Vote: I like it
  • +568
  • Vote: I do not like it

By gridnevvvit, 9 years ago, translation, In English

Hello Codeforces!

Soon you are lucky to participate in Codeforces Round #302, and I am writer of this contest.

I want to thank Max Akhmedov (Zlobober), Alexander Ignatyev (aiMR), Danil Sagunov (danilka.pro) for help with preparation of this round, Maria Belova (Delinur) for translation of statements and Mike Mirzayanov (MikeMirzayanov) for marvelous Codeforces and Polygon systems.

Scoring will be next:

  1. Div1: 500 — 1000 — 1750 — 1750 — 2500
  2. Div2: 500 — 1000 — 1500 — 2000 — 2750

Contest finished, congratulations to winners:

Div1:

  1. Petr
  2. qwerty787788
  3. -XraY-
  4. kraskevich
  5. Merkurev

Div2:

  1. nka55
  2. never_retired_phoenix
  3. lowsfish

Editorial

Full text and comments »

  • Vote: I like it
  • +268
  • Vote: I do not like it

By Zlobober, 9 years ago, translation, In English

This Sunday, May 3-rd, 19:00 Moscow Time there will be Round 3 of VK Cup 2015 Championship!

As in Round 2, there will also be an online mirror that is rated round available only for Div1-contestants. There will be 6 task in random order and a smooth dynamic scoring system.

Round was brought to you by Codeforces team, VK team and yeputons. As usual, we want to thank winger and AlexFetisov for a great testing help.

Top-50 participants of online mirror will get a nice VK Cup T-Shirt!

Good luck and have fun!

UPD1 The round is over! Congratulations to all contestants in top-50, you will get a nice VK Cup 2015 Championship T-Shirt soon! There will be an editorial soon, stay tuned...

UPD2 Finally, the editorial is ready!

Full text and comments »

Announcement of VK Cup 2015 - Раунд 3
  • Vote: I like it
  • +375
  • Vote: I do not like it

By Egor, 9 years ago, In English

Final scoreboard

Introduction

Arrival

History

Some photos from contest and closing ceremony

Interview with Bayan CEO Ali Ghadiri and some photos from the event will be published tomorrow

Places 10-15 received bronze medals

Top 3 receive gold medals. Silver medals for next several places: 4. Adrian Budau 5. Peyman Jabbarzade 6. Pooya Zafar. Places 7-9 also received silver medals, unfortunately I could not keep up with announcers

Nikola Djokic is third!

Ali Haghani is second. Congratulations!

And the winner is Evgenii Kapun aka eatmore

Winners will be announced shortly!

Speeches, videos and performances — all the usual things for closing ceremony.

Closing ceremony is underway. We'll know winners shortly

Scoreboard is frozen

Place Name Country A B C D E F G H Score
1 Evgenii Kapun RUS + + + + + 5119
2 Ali Haghani IRI + + + -3 2237
3 Peyman Jabbarzade IRI + +1 +1 2115
4 Nikola Djokic SRB + + + 2038
5 Pooya Zafar IRI + + + 1933
6 Adrian Budau ROM +3 + +2 1906
Solved 52/97 35/71 3/15 1/2 2/2 0/0 2/4 1/7

3:01 Contest is over. Congratulations to all finalists and good job

2:32 Last half hour is upon us which mean no more updates to scoreboard. Come back tomorrow for closing ceremony and winners announcement

2:22 Eugene solved G as well. Would it be enough to clench the title?

2:15 Meanwhile Ali Haghani continues to try to solve problem H

2:05 Problem D is penultimate problem to be solved thanks to Peyman Jabbarzade. Less than an hour left in the contest, scoreboard will be frozed for the last 30 minutes

1:53 Problem G is solved as well. Only problems D and F are unsolved (though I solved them both during test run)

1:39 And finally he is successful. Meanwhile Ali Haghani tries to solve H. No luck as of yet

1:34 eatmore still debugging E — one of his asserts fails

1:22 eatmore debugging samples on E. This is also the problem I had not solved during test round (and still don't know how to solve)

1:18 No much happening near the top at the moment

1:00 One more problem is "opened" — problem C. Kudos to Ali Haghani

0:50 39 finalists solved first problems while 12 — second

0:40 During test run I solved 6 problems, but H was not one of them (I solved it within half hour afterwards though)

0:30 Top 5 solved 2 problems

0:23 A lot of correct submissions on problem A, problems B and H are also "opened"

0:10 Eryx tries to tackle first problem as well, but not successful yet

0:08 But we have our first Accepted. Congratulations to Ali

0:06 Most participants just read problem statements (there are paper ones), not yet trying to code anything

0:01 Contest is started

-0:17 Contest likely to start in 17 minutes

-?:?? Test contest is still underway

-?:?? Contest is delayed. Currently short test round is conducted. Finalists set up their equipment

-0:13 Last preparations are made. Participants waiting in the hotel lobby

-0:52 Participants had finished their breakfast and will shortly arrive to contest area

-3:00 Finals are supposed to start in 3 hours. Stay tuned

Full text and comments »

  • Vote: I like it
  • +230
  • Vote: I do not like it

By dalex, 9 years ago, translation, In English

Hi all,

I was honored to open the fourth hundred of Codeforces Rounds. Unfornunately, neither I nor my friends couldn't invent any hard problems, so it's only a Div. 2 Round. But we'll definitely prepare a full round in the future! As always, I thank Zlobober for his help in preparing the problems, Delinur for English translations and MikeMirzayanov for the Codeforces itself.

The problems must be pretty easy for Div. 1 guys, so let's start a challenge: reds should solve everything in 30 minutes, yellows — in 1 hour, and violets — in 1 hour and a half. How many people will be able to make a success?

The score distribution will be standard. Wish you accepted solutions and successful hacks!

UPD 1. Congratulations to the winners in Div. 2:

  1. PauGra
  2. cuvwqe496
  3. tgehr

and in Div. 1:

  1. niyaznigmatul
  2. I_love_Tanya_Romanova
  3. dreamoon_love_AA

UPD 2. This is the editorial: /blog/entry/17643.

Full text and comments »

  • Vote: I like it
  • +351
  • Vote: I do not like it

By Endagorion, 9 years ago, In English

Hello, Codeforces!

On Sunday, April 26th at 19:00 MSK the 300'th regular Codeforces Round will take place.

I would like to congratulate all Codeforces members and administration on this remarkable milestone. The platform has grown hugely in size and quality since its foundation, has hosted lots of exciting competitions, and has been providing the opportunity to everyone to hone their problem solving and algorithmic mastery. For this we thank the Codeforces platform creator MikeMirzayanov and all the Codeforces crew. Keep up the incredible job, guys!

That being said, I'm excited to announce that the problems on the jubilee three-hundredth Codeforces Round will be set by me, Mikhail Tikhomirov (Endagorion). You may remember the past rounds with my problems: #99, #109, #265, #283, and (in part) #295. I thank the Codeforces problems coordinator Max Akhmedov (Zlobober) for helping me in preparing this round, and Maria Belova Delinur for translating the statements in English. Also, special gratitude to Vladislav Isenbaev (winger), Alex Fetisov (AlexFetisov) and Pavel Kunyavskiy (PavelKunyavskiy) for testing the problemset and help with preparation.

This round will be shared for both divisions and will last two hours and a half (as you can see at the Contests page). The round will feature several ( ≥ 6) problems, varying in difficulty and topics involved. I hope that everyone will find an interesting and satisfying problem just for themselves! The scoring will be announced later.

To add up to the excitement, there are 30 exclusive Codeforces T-shirts to compete for in this round! The top 15 participants will get their T-shirts right away; another 15 will be randomly distributed among those who place in the top 300. Even if you think your chances on being the very best are weak, there are still good odds you will get a treat! =)

That's it. Mark your calendars and come back to compete for the prizes and for the fun!

UPD: there will be 8 problems. The scoring is standard (i.e. not dynamic): 500-1000-1500-1500-2000-2500-3000-3000.

UPD2. In order to choose people getting T-Shirts we will use the following python3.4 code that you can manually run in "custom invocation" tab on Codeforces. It uses an integer as a seed for random generator, this integer should be equal to the last submission number that happened during the contest.


import random seed = int(input()) rnd = random.Random(seed) # all contestants except top-15 contestants = list(range(16, 301)) rnd.shuffle(contestants) tshirts = list(range(1, 16)) + contestants[:15] for x in sorted(tshirts): print(x)

UPD3: Thanks for participating!

The winners are:

  1. bmerry
  2. Egor
  3. Petr
  4. rng_58
  5. scott_wu
  6. jqdai0815
  7. eatmore
  8. atetubou
  9. qwerty787788
  10. niyaznigmatul

The list of places getting the T-shirts are 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 40 46 67 75 80 102 103 144 152 161 169 198 233 243 269. The lucky participants are as follows: bmerry, Egor, Petr, rng_58, scott_wu, jqdai0815, eatmore, atetubou, qwerty787788, niyaznigmatul, gs12117, W4yneb0t, JoeyWheeler, zxqfl, yeputons, kcm1700 & HYPERHYPERHYPERCUBELOVER (sharing the 40-th place, so both get a T-shirt), piob, Leo_Yu, matrix & Nerevar (sharing the 75-th place), Haghani, ACube, DemiGuo, etal, Emarci15, hlwt, Salvare001, dzy97, FatalEagle, gchebanov & Jimanbanashi (sharing the 243-rd place), and Solaris (please let me know about any mistakes). Congratulations!

UPD4: At long last, the editorial is up! Enjoy, and sorry for the waiting.

Full text and comments »

Announcement of Codeforces Round 300
  • Vote: I like it
  • +1212
  • Vote: I do not like it