Course introduction

For competitive programming

by Ariel Parra

Who are we?

The Competitive Programming Club Γα=Ω5 (CPC-GALLOS) from the Universidad Autónoma de Aguascalientes (UAA). It is composed exclusively of students who seek to teach and reinforce knowledge of Algorithm Analysis and Design with the goal of participating in programming tournaments at local, national, and international levels primarily, but we don't just program in this club - we also aspire to strengthen your skills and support you in your professional development, providing resources and opportunities to advance in your career such as courses, scholarships, and certifications.

#c

CPC Γα=Ω5

What is Competitive Programming?

#c

Competitive programming is the combination of algorithm design along with its implementation to solve specific problems efficiently within a given time frame.

This comes together with teamwork when in competitive programming contests participants apply their knowledge of algorithms to solve a set of logical and mathematical problems while distributing the different tasks among themselves.

CPC Γα=Ω5

What is Algorithmics (Algoritmia)?

Algorithmics (Algoritmia in spanish) is the science that studies algorithms, where an algorithm is understood as a series of instructions and operations that allow solving a problem. Problems in algorithmics are characterized by having a set of input data and expected results.

This analysis can be represented through the

graph LR; A[PROBLEM: Input Data] B[SOLUTION: Expected Output] A --> B
CPC Γα=Ω5

What is Kidlin's Law?

We are not referring to Kidlin's law of confidential information protection in law firms, but to the fictional character from the novel King Rat written by James Clavell. Where Kidlin's approach to solving life's challenges led to the development of a law that states:

“If you write the problem down clearly, then the matter is half solved.”

#c

CPC Γα=Ω5

Problem Example

What is the minimum number of these L-shaped tetrominoes needed to form a square?

#c

CPC Γα=Ω5

Contests

ICPC (International Collegiate Programming Contest). This is the most important competitive programming competition worldwide, sponsored by the ACM-IEEE association. It is held annually around the world in 3233 universities in 110 countries across 6 continents. In Mexico, the ICPC is hosted at ITESO university. Participating in this competition is the main objective of the club. It takes place throughout each year, usually starting in the month of May in-person at UAA.
Meta Hacker Cup is Facebook's annual competition held in October, this one is online.
CoderBloom is a competition aimed at women held monthly with different categories and prizes.

#c
#c
#c

CPC Γα=Ω5

#c
#c
#c

ANIEI National Programming Contest The National Association of Educational Institutions in Information Technologies (ANIEI) holds this contest in alliance with ICPC Mexico in the month of **October**.

IEEEXtreme is a 24-hour programming competition organized by IEEE in the month of October.

RPC (Red de Programación Competitiva) are contests focused on the Latin American community, they usually have mirrors of

Más información en el blog cpc-gallos.github.io/blog/Concursos

CPC Γα=Ω5

Competitive Programming Platforms

Codeforces is a platform developed by programmers from ITMO University in Russia. This is the platform that we will use in the course because it is the most popular among the ICPC community, where after each contest we can access a gym with the contest problems. Codeforces has a large number of problems to solve and has multiple contests each month.
CSES: Offers a limited but high-quality list of algorithm and data structure problems that help improve problem-solving skills.
AtCoder is a platform similar to Codeforces but without issues and from Japan where multiple weekly contests take place.
LeetCode is a platform focused mainly on technical job interviews, so the problems there are more technical. If you want to apply to a company like the 'FAANG', I recommend practicing here. They have multiple contests weekly.

HackerRank is a platform that has weekly contests not necessarily focused on competitive programming, where they also have courses and exams on different skills and technologies.

CPC Γα=Ω5

Homework

  1. Create an account on codeforces
  2. Create an account on CSES
  3. Read the CPC-GALLOS blog


CPC Γα=Ω5

Our blog: cpc-gallos.github.io

Here you will find a lot of information about competitive programming such as books, courses from other universities, Discord communities and also about topics different from competitive programming such as professional development, internships, offers in certifications, job opportunities and much more.

#c

CPC Γα=Ω5

References

CPC Γα=Ω5

Comentar que evidentemente si no saben inglés aqui pueden aprender y si si saben inglés aqui reforzaran la comprensión lectora y el speaking

siempre es bueno recordar esta frase cuando resolvemos problemas, ya que el primer paso es comprenderlo

3 minutos maximo para resolverlo, al final preguntar cuantos pudiern, el objetivo de este ejercicio no es obtener la respuesta o humillar a quien no sepa, ya que en si la pregunta puede ser ambigua en si, el punto es el analizar el proceso mental de analisis de un problema y como buscar para llegar a su solucion.

Leetocode son problemas para FAANG: Facebook Apple Amazon Netflix Google