ICPC Beginner’s Guide- What and How to Prepare?

Kunal Raut
5 min readAug 27, 2022

--

[This is just a compilation of my ”ICPC Guidance and Preparation Session” Presentation. You can find the link to that exact Presentation at the end of this blog.]

My Short Introduction :

  • Currently working as SDE1 at Amazon Alexa.
  • Previously did 6M Internship at Amazon(Interview Experience).
  • Pursued Computer Engg from PICT’22.
  • Had offers from PhonePe(Interview Experience) & Amazon.
  • Competitive Programmer and Android Developer.
  • 5* Coder at Codechef.
  • Expert Rated Coder at Codeforces.
  • Won many Programming Contests and Hackathons.
  • Going by username “zukonit14” on all Coding
    sites.

My Journey with ICPC :

  • In my First Year didn’t have much idea about ICPC.
  • In my Second Year participated for the first time. Rank around 1000 in Online Round. Didn’t qualify for Regionals.
  • In my Third Year secured AIR 32 in Asia Kanpur-Mathura Regional and first in Pune & under 100 in Asia Amritapuri Regional Contest.
  • For Final Year we are again participating…
  • Last Year we encouraged juniors from PICT for ICPC.
    Had Record-breaking participation of more than 50 teams from all years of College.

What is ICPC ?

  • The ICPC formerly known as ACM-ICPC (Association for Computing Machinery — International Collegiate Programming Contest) is considered as the “Olympics of Programming Competitions”.
  • It is quite simply, the oldest, largest, and most prestigious programming contest in the world.
  • The ICPC is a multi-tier, team-based, programming competition.
  • The contest participants come from over 2,000 universities that are spread across 80 countries and six continents.

Contest Structure :

  • Total of 3 Rounds — Online -> Regional -> World Finals.
  • There is a total of 4 Regionals in India viz. Amritapuri, Kanpur, Pune-Gwalior, and Kharagpur.
  • Every Regional has its own Online Test.
  • Every Regional has different criteria to select from Online Round to Regional Onsite.
  • From each Regional Onsite contest, around 5–8 teams qualify for World Finals representing India.

Contest Format :

  • It is a team contest.
  • Each team should have 3 members.
  • No restriction of being in same year of College.
  • Each team must be headed by a coach, who must be a university faculty or staff member.
  • The coach can head multiple teams
  • The contest can have several problems (8 to 10 in general), of varying difficulty levels and mostly being algorithmic in nature.

How to take part in Indian Regionals :

  • Each regional site will host a preliminary online round.
  • Depending upon the results of the online round, each side will decide the number of teams to be invited to the onsite round.
  • Teams securing the top spots in the onsite round will be eligible for advancing to the World Finals from their respective sites.
  • Any team can participate maximum at two regional sites.

Exact Registration Process :

  • Create a account on icpc.baylor.edu for each team member.
  • Contact College Coach for ICPC for Registration when registrations are open by Regionals.
  • From Coach’s Account on icpc.baylor.edu —
    1. Select the Regional you want to apply for.
    2. Create a team and enter the details of all 3 members.
    3. Then do the payment for the regional you applied.
    4. Your status on the ICPC site will get “Accepted”.
    5. You will receive emails from Regionals after
    registration is done.
  • You will also receive follow-up emails regarding contests from the Regionals.

Resources to Follow :

Similar Prestiguous Contests :

  • Google Kickstart — Easy-level individual Contest
  • Google HashCode — Medium-level Team Contest
  • Google CodeJam — Hard-level individual Contest
  • Facebook HackerCup — Medium-Hard level tough CP Contest.

Preparation — How to Begin :

  • Begin with sites like Hackerrank and solve Problem Solving Section.
  • Achieve 4 stars on Hackerrank at least to move to next level.
  • Start with live Contests on sites like Codechef and Atcoder. Also solve previous contest problems.
  • In Codechef, try solving Starters and Long Contest.
  • After that start giving contests and solving problems on Codeforces — best CP site in world.
  • Try to give as much contests as possible and upsolve them to grow.

How to Practice :

  • Give Contests on all sites. Upsolve them.
  • If you encounter any new topic, go to https://cp-algorithms.com and see the topic and code snippet.
  • Solve sample problems on that topic.
  • Practice problems from CSES ProblemSet on that topic.
  • Possibly find some friends sharing the same interest in CP and compete with each other.

Team Specific Preparation :

  • Try giving more contests together in team.
  • Give at least one contest/week together and gradually increase this number as ICPC approaches.
  • Make sure you solve past 2–3 years all four regionals Online and Preliminary Round. This will put you in good place.
  • If more contests are needed then you can try giving virtual contests on Codeforces in Team format.
  • Split all the topics among 3 members so that each topic is well prepared.
    Use “multitasking as a team” in ICPC contest.

Benefits of Participating in ICPC :

  • Even if you don’t do great in ICPC, you get to know what do you need improvement, where do you stand, and most important you already are at good level in CP now.
  • If you have good ranks, you can showcase it in your Resume and Linkedin.
  • Top Companies do prefer candidates having such achievement/experience.
  • Teaches you Teamwork — how to split problems, how to debug other’s code, how to play well in a team.

Some Tips to Improve your CP Knowledge and Ratings [Very Important] :

  • Consistency is key.
  • Upsolving always helps.
  • Solve problems with a rating of [+100,+300] of your rating.
  • Try to solve more hard problems. Focus on Quality and not Quantity while practising.
  • Competing with your friends or being an active part of the CP Community.
  • Use Snippets, preferably yours. Otherwise, refer AshishGup.
  • Write your own explanation of Hard Problems you solved having a Unique Solution or Concept used. Add it to Fav Problems.
  • Practising on multiple platforms is good practice.
  • Keep Ratings aside and focus on learning.

Conclusion :

This was a detailed overview of what is ICPC and its preparation and process in general. This was compiled from my Presentation regarding ICPC you can find it here- “ICPC Guidance and Preparation Session”.

I hope you find it informative. In case you have any specific questions, I’ll be more than happy to help ( My LinkedIn Profile ).
Best wishes! 😊

--

--