{"id":18842778,"url":"https://github.com/cis-team/problemsolving-squad","last_synced_at":"2026-01-25T07:02:38.477Z","repository":{"id":116522346,"uuid":"253734977","full_name":"CIS-Team/ProblemSolving-Squad","owner":"CIS-Team","description":"Problem Solving Squad Roadmap","archived":false,"fork":false,"pushed_at":"2024-02-01T14:31:03.000Z","size":13,"stargazers_count":31,"open_issues_count":0,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-22T22:41:06.401Z","etag":null,"topics":["algorithms","cis-team","computer-science","problem-solving","problemsolving"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CIS-Team.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-04-07T08:37:41.000Z","updated_at":"2025-04-11T13:00:53.000Z","dependencies_parsed_at":"2024-02-07T13:45:52.372Z","dependency_job_id":null,"html_url":"https://github.com/CIS-Team/ProblemSolving-Squad","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CIS-Team/ProblemSolving-Squad","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CIS-Team%2FProblemSolving-Squad","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CIS-Team%2FProblemSolving-Squad/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CIS-Team%2FProblemSolving-Squad/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CIS-Team%2FProblemSolving-Squad/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CIS-Team","download_url":"https://codeload.github.com/CIS-Team/ProblemSolving-Squad/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CIS-Team%2FProblemSolving-Squad/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28747308,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T05:12:38.112Z","status":"ssl_error","status_checked_at":"2026-01-25T05:04:50.338Z","response_time":113,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","cis-team","computer-science","problem-solving","problemsolving"],"created_at":"2024-11-08T02:55:41.459Z","updated_at":"2026-01-25T07:02:38.453Z","avatar_url":"https://github.com/CIS-Team.png","language":null,"readme":"\n# Problem solving Squad roadmap\n\n\n\n## Important topics\n\n### Level 0\n- Intro \u0026 Basics \n    - Data Types\n    - Variables\n    - I/O\n    - Conditional statement\n- Loops \u0026 Arrays \n- Strings \u0026 Functions \n- Complexity \u0026 Binary Search\n\n### Level 1\n- Ad-hoc problems \n  - Freq. Array\n  - Cumulative Sum\n  - Two Pointers\n  - Greedy\n  - Sliding Windows\n- STL I [Linear Containers]\n  - Vectors\n  - Queues\n  - Deques\n  - Stacks\n  - Pairs\n- STL II [Non-Linear Containers] \n  - Map \n  - Set \n  - Priority \n  - Queue \u0026 Structs\n- Bit-masking \u0026 Iterative Brute Force\n- Recursion \u0026 Recursive Brute Force\n\n### Level 2\n- Math I \n    - Primes\n    - Sieve\n    - Factorization\n    - Factorial\n    - GCD \u0026 LCM\n- Math II \n    - Fibonacci\n    - Big-integer\n    - Modular Arithmetic\n    - Binary Exponentiation\n- Math III \n    - Permutations \u0026 Combinations\n    - Preprocessing\n- DP I \n    - Intro\n    - MaxRangeSum\n    - KnapSack\n    - CoinChange\n- DP II \n    - Longest Increasing Subsequence (LIS)\n    - Longest Common Subsequence (LCS)\n    - Consecutive Dynamic Ranges\n    \n- Graphs  \n    - Graph Traversal and Basic Algorithms\n        + Graph Traversal\n        + Articulation Points and Bridges\n        + Bridge Tree\n        + Strongly Connected Components\n        + Kosaraju Algorithm\n        + Biconnected Components\n    - Shortest Path\n        + Single-Source Shortest Path\n        + All-Pairs Shortest Path\n    - Minimum Spanning Tree\n        + Prim's Algorithm\n        + Kruskal's Algorithm\n    - Special Graphs\n        + Euler Tour (for Eulerian Graphs)\n        + Maximum Cardinality Bipartite Matching\n    - Max Flow\n        + Edmonds-Karp Algorithm\n        + Dinic's Algorithm\n        + Tarjan's (Push-Relabel) Algorithm- Geometry \n- Strings algorithms \n    - Prefix Automaton (KMP)\n    - Suffix Trie\n    - Suffix Array\n    - Suffix Automaton\n    - Aho Corasick\n    - Z Algorithm\n    - Manacher\n\n## Related\n\n\n#### [Junior training sheet (by: Dr. Mostafa Saad)](https://docs.google.com/spreadsheets/d/1iJZWP2nS_OB3kCTjq8L6TrJJ4o-5lhxDOyTaocSYc-k/edit#gid=84654839)\n\n#### Dr. Mostafa Saad:\n\n    Please, check out the sheet before reading. The sheet is:\n\n    Complete and consistent roadmap for newcomers: What to solve \u0026 algorithms to learn in order\n\n    In the bottom row, there are different sheet pages such as Faq, Topics, CF-C2\n\n    CF-C1, C2 are (Codeforces Div2 C problems (or similar level from other OJs), but from easy to hard). Same for CF-D1, D2, D3\n\n    Covering most of the topics needed up to Codeforces Div2-D\n\n    Problems increase in difficulty per topic with intermediate easy/medium problems + ad-hoc problems\n\n    Speed problems to maintain speed goals\n\n\n+ ### One can train in one of the following ways:\n\n    - #### Blind-Order training style:\n\n            Problems are distributed in sheets CF-A, CF-B, CF-C1, ....CF-D3\n\n            It targets learning the knowledge/skills in a consistent and balanced way\n\n            Every sheet page is on average harder than the previous sheet page\n\n            This is my recommended way, though most camps/training-approaches don't use this style\n\n    + #### Topics-Based training style:\n\n            See the sheet page (Topics1). It has the same sheet problems (CF-A to CF-D3) ordered by category and level, around 950 problems. Also checkout Topics2 page\n\n            Ideas Quality column: P5 (important), P4(very interesting), P3(interesting), P2(good), P1(ok), Empty (normal)\n\n            You can train using Blind-Order, and use Topics page as a guide to skip some problems\n\n            Advantage: Mastering the algorithm till solving some hard problems in a short time\n\n            Disadvantage: Discovering the algorithm behind the problem is an important skill. Given that you know the topic, you lose a good space to improve this skill\n\n            Disadvantage: Being in the mode of specific algorithm lets you solve many of it easier. However, when solving in real contests, your mind is not so active on the specific topic\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcis-team%2Fproblemsolving-squad","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcis-team%2Fproblemsolving-squad","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcis-team%2Fproblemsolving-squad/lists"}