Giter Site home page Giter Site logo

veedee2000 / get_better_at_cp_in_2_months Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sahilbansal17/get_better_at_cp_in_2_months

0.0 1.0 0.0 34 KB

This contains the curriculum that I will follow to get better at Competitive Programming in 2 months.

get_better_at_cp_in_2_months's Introduction

Get_Better_CP_in_2_Months

Join the chat at https://gitter.im/CompetitiveProgramming/community

Month 1

Week 1

Dynamic Programming

Week 2

String Algorithms
  1. Reading material

  1. Problems on HackerEarth

Problem Link Finished
★★☆ Find the substrings
★★☆ The Cheapest Palindrome
★★☆ Largest Lexicographical Rotation II
★★☆ Monk and Monster
★★★ Prefix Number
★★★ Last Forever
  1. Problems on HackerRank

Problem Link Finished
★☆☆ Sherlock and the Valid String
★☆☆ Highest Value Palindrome
★★☆ Sherlock and Anagrams
★★☆ Common Child
★★★ Build a Palindrome
  1. Problems on Codeforces

Problem Link Finished
★☆☆ Petya and Exam
★★☆ Password
★★★ Prefixes and Suffixes
  1. Problems on Codechef


Week 3

Week 3

This list will be updated frequently.


Week 4

Square Root Decomposition
  1. Reading Material

  1. Problems


Week 5

Trees & Graphs

Trees

Problem Link Finished
★☆☆ Diameter of a Binary Tree
★☆☆ Path Sum
★★☆ K-th smallest element in a BST
★★☆ Find duplicate subtrees
★★☆ Lowest Common Ancestor of a binary tree
★★★ Sum of distances in tree

Graphs

BFS and DFS

Strongly Connected Components


Week 6: Graphs: Biconnected Components, Shortest Path and MST

Reading Material

Problems: Biconnected Components

Problems: Shortest Path

Problems: Minimum Spanning Tree


Week 7: Practice Contest


Why use this list?

Why use this list?

Since getting better at competitive programming takes a lot of effort, you need to keep practicing a lot of problems. This list will keep you focussed and you will have a target with you that you need to finish atleast these many problems before moving on. It can help you organize your practice.

How to use this list?

How to use this list?

The Github markdown's task list feature is used to check progress.

Create a new branch so that you can check items like this, just put a x in the brackets: [x]

  • One time steps:
  1. Fork this repository.

  2. Clone the forked repository.

    git clone https://github.com/your_user_name/Get_Better_at_CP_in_2_Months/

  3. Create a new branch for tracking your progress. Let's name this your_user_name

    git checkout -b your_user_name

  4. Add remote

    git remote add your_user_name https://github.com/your_user_name/Get_Better_at_CP_in_2_Months/

  • Marking tasks as completed and pushing to your branch:

    git add .
    git commit -m "Completed tasks x and y"
    git rebase your_user_name/master
    git push --force
    
  • Keeping your fork's list updated with the changes made here:

    git remote add upstream https://github.com/sahilbansal17/Get_Better_at_CP_in_2_Months.git
    git checkout master
    git pull upstream master
    git push your_user_name master
    

Refer to this for understanding more about Fork and PR workflow.

get_better_at_cp_in_2_months's People

Contributors

gitter-badger avatar s-jindal avatar sahilbansal17 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.