/cp-java

Primary LanguageJava

Problems from Junior Training Blog:

https://codeforces.com/blog/entry/65133

A https://docs.google.com/spreadsheets/d/197mE4PGe-nwxvW_2116_JkrgclWj9eouMlQjTr3Omsg/edit#gid=1160016643

B https://docs.google.com/spreadsheets/d/197mE4PGe-nwxvW_2116_JkrgclWj9eouMlQjTr3Omsg/edit#gid=111761178

C1 https://docs.google.com/spreadsheets/d/197mE4PGe-nwxvW_2116_JkrgclWj9eouMlQjTr3Omsg/edit#gid=1360475500

C2 https://docs.google.com/spreadsheets/d/197mE4PGe-nwxvW_2116_JkrgclWj9eouMlQjTr3Omsg/edit#gid=1560625140

Timus: 257467OU

Good resources

Max time to solve problem?

Div2-A (The beginners)

  • For the first 15 problems, you may think for 10-20 min, then check editorial/solutions. This will let you use to problems styles.
  • For the next problems - Idea: Think up to 30 minutes.
  • If you can’t solve so far, check editorial and implement the idea
  • Try to code it up to 30 minutes. If can’t, and no progress, see actual codes

Div2-B: Think up to 45 minutes. Try coding up to 30 minutes.

Div2-C: Think up to 60-90 minutes.

Div2-D and more: Think up to 60-120 minutes. For 10-20% of your problems, you ‘may’ try up to 3-4 hours.

Learning new algorithm/DS: Feel free to try up to 30 minutes for the first 2/4 problems till you realize the algorithm better.

What if trying for a long time make you disappointed? We wanna you keep going. In this case, please adjust with what fits with your spirit. But remember, in real contests no help. So you need to learn to strive more.

What if I can try for even longer time? This is ok. You may set a limit like 6/8 hours. Taking longer in problems will probably mean you solve much less (hence fewer ideas/knowledge) and you may be a slower coder. But it also means you will be stronger and probably won’t face plateau in performance in a short time.

Overall, it might be a better idea to try different settings for every 10 problems.

Test cases:

  • Getting WA? Fight for at least 15 minutes, then check the single case failing your code.

Remember that, ICPC/IOI is 5 hours. So, we need to learn to strive against a problem up to ~2 hours. This implies 2 things: Those who give up after say 45 minutes will fail typically under real contest pressure. Those who strive for too many hours is preparing themselves to unrealistic mode.

Finally, If you tried in a problem for some time and had to read editorial because it is a bit harder than you = this is great. You learn much more from these problems than ones you get by yourself in < 20 thinking minutes. So don’t feel bad.

AtCoder Training Tips:

https://atcoder.jp/contests/archive?category=0&keyword=&page=4&ratedType=1

3 types of contests in AtCoder

  • ABC - AtCoder Beginner Contest (500/700/900/1400) in CF difficulty
  • ARC - AtCoder Regular Contest (900/1400/2100/2600) in CF difficulty
  • AGC - AtCode Grand Contest (1200/1900/2200/2500/3000) in CF difficulty

Helper site to know which problems solve/attempted

(https://kenkoooo.com/atcoder#/table//)

1000 -> 1400

Learn to code fast in ABC for problems B and C. Starting from ABC 042, English tutorials are added. There are 84+ ABC at AtCoder. If you solve all B,C you will learn much and be much stronger.

tips

  • Read tutorial if you cannot reach solution within 15 minutes of thinking (Prob B)
  • Read tutorial if you cannot reach solution within 30 minutes of thinking (Prob C)
  • When solving problem, read code of other high-rated coders as they may have faster impl.
  • For prob C, compile on paper before coding!