### jjang36524's blog

By jjang36524, history, 8 months ago,

Before the start of the blog, I'd like to thank this blog for motivating me to write it.

However, this blog is quite outdated in many factors like the rating system, and people starting cp in 2020 may have trouble following these. Therefore, I would like to write new tips for doing well in codeforces. The goal is getting to expert, or rating 1600.

I would write this in 3 steps, but the most important thing here is Practicing hard. You won't get to 1600 if you don't practice, you don't have to do it on the blog's way, but you should practice.

## Step 1: from 1000(grey) to 1200(green)

First, read introduction to the new rating system and judge your skill. Note that you'll need to take part in about 5 contests to judge your skill. If your rating is under 1200, read the next part and practice.

If you use div3, you'll need to solve 3 problems in 30 minutes. That means you should solve div3C in 15 minutes. To practice it, you may choose 1000~1200 rated problem and try to solve it in 15 mins. If you have no idea in 15 mins, you should see the editorial.

If you use div2, you'll need to solve 2 problems in 30 minutes. The practice methods are the same, but do it in 1100~1300 rated problems and 20 mins.

You should solve problems until you get to green(it applies to all the other steps.

## Step 2: from 1200(green) to 1400(cyan)

In order to get to cyan, you should know basic dp, greedy, bit operation, and math. Other things such as graph theory are not required to go to cyan.

First, you should learn about the algorithms. First, you need to know the concept of them, and you should practice. Practicing these algorithms can be done by solving 1300~1500 rated problems having these tags. You should see editorials quickly(15 mins) to learn fast.

You need to solve 4 problems in div3(You don't need fast solving) or 2~3 problem in div2(highly depends on difficulty, if it's 2 problems, you need to do fast solving). I would recommend to solve 1300~1600 rated problem(you can tag search them) and try to solve them in 15~30 mins and see editorial after 30 mins.

## Step 3: from 1400(cyan) to 1600(blue)

Rating 1600, or the title "expert", requires quite a lot of algorithm knowledge. You need to know a bit advanced form of former four, graph theory, sorting, and binary search.

Again, you need to study these algorithms, the methods are similar to that of the cyan, but search them in the 1500~1700 range, and see editorial after 25 mins.

Div3 is not an option after 1600, so you should do div2 contests to get to blue. Div2 has varying difficulty, but you should solve 3 problems or more by 90% possibility. You should solve two types of problems. 1400~1600 problems(easy div2c) with fast solving in 15~20 mins. 1700~1800(hard div2c) problems without that much fast solving.

Virtual contest is a nice way to practice from here. You can pick a contest that you haven't seen any of its problems, do a virtual contest, and check your score at this site. You should type contest number, score, and penalty if you did an educational cf virtual contest. Set rating to 1600, and if the rating increase is +, that means you did well.

## Conclusion

As mentioned earlier, practice hard. This is the only common factor that experts have. And for whom reached expert, I'll write a sequel from expert to master soon.

• +29

By jjang36524, history, 9 months ago,

Have you ever implemented a sort(not using stl)?

I am a master and I implemented my first nlogn sort algorithm recently.

Do you implement sort during contest time?

• -40

By jjang36524, history, 9 months ago,

I am a one who gets benefit from ratism, but I hate it. Every newbie and pupils asking a question gets downvote. It's not because they wrote useless stuff. Even bug reports from them got downvotes. Please stop giving frustrations to them.

P.S. It would be upvoted, but green writing the same thing will be downvoted because of ratism.

• -116

By jjang36524, history, 11 months ago,

Today, in lots of contests, hacks are unrespected. There are no hacks in 90% of div1 round. However, find someone's mistake is a nice skill. I suggest a hacker contest. 1. There is no score for the problem, only for hacks. 2. You are allowed to copy someone's codes into local. 3. 2 hour solving and 12-hour hacking, like educational codeforces. 3.5. You could hack the problem only if you solved it. 4. No pretests except samples, and no systest either. The only real test would be from hacks. 5. Score is 100*successful hack-50*unsuccessful hack. Of course, the contest should be unrated, because it is hackforces, not codeforces.

• +70

By jjang36524, history, 12 months ago,

In a div2 only round, when the person with rating 2099 is the first, he jumps 200 points or more. However, if he is 2100, he does not get anything. Therefore, I suggest a gradual division boundary. First, we calculate the standing including every person that his rating could change and calculate the rating.

In div2, if his rating is lower than 2000, it is fully rated for him. If his rating is between 2000 and 2200, he would get ratingchange*(2200-rating)/200 ratings. If his rating is greater than 2200, he is unrated and doesn't include in the standings. Same thing for div3 and div4, with different bound. However, I think it should not be done in div1+2 separated round since 1900 could just join div1.

• +43

By jjang36524, history, 16 months ago,

The codeforces round 610(Div.2) starts at 3 days after now, but the registration is only open for 14 hours. Is it intended? UPD: fixed

• +11

By jjang36524, history, 17 months ago,

I saw something strange on rating. Example His real rating is 1882 and he is an expert, but the contest rating is displayed 1356, colored blue. Isn't it strange?

• +66

By jjang36524, history, 20 months ago,

If there are these types of the contest, I think codeforces would be more interesting. 1. hackforces. This type of contest has absolutely zero pretest and weak system test. Some wrong code may get right if there is no hack. (Maybe no uphacking update would be good) 2. the G takes it all. The point of the problem would grow like 100 400 1600 6400 25600 102400. Exponentially. Who only barely solved g wins against who solved a~f in fast time. 3.Speed! The point of the problem reduces by half in 30 minutes. The first to the tenth solver of each problem would get the increased point. 4. The shortest round ever. Contest time would be 30 minutes, no reducing points for time, and LOTS of implementation problem! Who is the fastest typer in the world? Dear MikeMirzayanov

• +68

By jjang36524, history, 21 month(s) ago,

I am on round and I didn't submitted any solution. Is it rated?