Login to view progress

Shortest Paths I Winter 2024, Session 2

In today's session we (finally) learn about graphs. In particular, we will learn how to find the shortest paths from a single source to any other vertex (SSSP), in an unweighted graph (using BFS) and a weighted graph (using Dijkstra's). Have fun! πŸ˜€

Solve all problems to unlock extra ones!

SQRT Decomposition Winter 2024, Session 1

Welcome back. Today we will learn about SQRT decomposition and you will solve problems in teams of up to 3 students. In these difficult times, we hope that you are able to find some enjoyment in this session.

2023 Summer Finale Competition

The time has come! πŸ•ΊπŸͺ© Please carefully read the following rules and guidelines (the full list of guidelines was sent to you via WhatsApp):

  1. In addition to coding the solutions, you are encoredged to fill out this form during the contest, where you can share ideas for your solutions or the directions you considered but didn't succeed in implementing, due to time constraints or other reasons. We understand that many of you still face challenges in coding your solutions on the computer. We are mostly want to test your creativity and problem solving skills, and not your programming skills.
  2. Feel free to use any materials you've prepared in advance, any submissions you've made during the training sessions, and any code you have on your computer. Additionally, you can refer to cppreference and cp-algorithms. Refrain from googling specific algorithms or solutions, or using tools like ChatGPT or Copilot.

Number Theory Summer 2023, Session 5

In our final week this summer, we will cover essential topics in mathematics that appear in many competitive programming problems. πŸ“ We will focus on understanding the greatest common divisor (GCD) and least common multiple (LCM), explore efficient exponentiation and modular arithmetic techniques, prime number identification, and prime factorization. Get ready to bring your A-game, as we inch closer to the grand finale! 🌟

Solve all problems to unlock extra ones!

Segment Trees Summer 2023, Session 4

This week we will learn about segment trees! 🌴 The Segment tree is a powerful data structure that allows for efficient querying and updating of intervals in an array. We will also dive into the concept of lazy propagation, which optimizes certain types of updates in segment tree. It will be a more formal and heavy lecture than usual, so please come refreshed and ready to dive deep into the subject matter πŸ—―οΈ

Solve all problems to unlock extra ones!

Dynamic Programming Summer 2023, Session 3

Join this week's session to explore dynamic programming. This powerful technique breaks down complex problems into smaller subproblems and reuses their solutions to avoid duplicate computations. We encourage you learn and read about more advanced techniques from the excellent Competitive Programmer's Handbook. Get ready for a challenge as we ramp up the difficulty level of the practice problems. Good luck! πŸš€

Solve all problems to unlock extra ones!

Union Find Summer 2023, Session 2

Welcome to our second session! Today we'll implement a couple of algorithms you were introduced to in the Data Structures and Algorithms courses. We suggest you to write more cpp-ish code and use the built-in data structures. Have fun! πŸ™ƒ

Solve all problems to unlock extra ones!

Introduction Summer 2023, Session 1

Welcome to our first session! πŸŽ‰ We're so glad you could make it. Today, we'll be introducing you to Codeforces and CSES, two amazing online judges for competitive programming that we'll be using throughout the semester. Don't worry if you're not familiar with C++ yet, we highly encourage you to give it a try and have fun while solving the problems. And don't forget to check out the resources tab below πŸ‘‡, it's packed with helpful tools, learning materials, and code templates. Enjoy! 😊

Solve all problems to unlock extra ones!

Welcome Summer 2023

Welcome to Competitive Programming! πŸ‘‹ Our training sessions will officially begin next week, but until then, you are more than welcome to start solving some problems by yourself!

Solve all problems to unlock extra ones!