diff --git a/Material/Semana-1/Introduccion.pdf b/Material/Semana-1/Introduccion.pdf new file mode 100644 index 0000000..06e8f8a Binary files /dev/null and b/Material/Semana-1/Introduccion.pdf differ diff --git a/Problems.md b/Problems.md index 51f1b78..f6eb492 100644 --- a/Problems.md +++ b/Problems.md @@ -13,23 +13,13 @@ basic data structures I | url | :-- | :--: | stack | https://www.urionlinejudge.com.br/judge/en/problems/view/1069 | dsu | http://codeforces.com/problemset/problem/277/A | -dsu | https://www.hackerearth.com/login/?next=/code-monk-disjoint-set-union/algorithm/city-and-flood-1/ | -dsu | https://www.hackerearth.com/login/?next=/code-monk-disjoint-set-union/algorithm/city-and-fireman-vincent/ | graphs | url | :-- | :--: | -dfs | https://www.hackerearth.com/problem/algorithm/monks-birthday-treat/ | dfs | http://codeforces.com/contest/598/problem/D | bfs | https://www.urionlinejudge.com.br/judge/en/problems/view/1923 | -dfs | https://www.hackerearth.com/login/?next=/code-monk-graph-theory-i/algorithm/monks-birthday-treat/ | -bfs | https://www.hackerearth.com/problem/algorithm/dhoom-4/ | dfs / bfs | http://codeforces.com/contest/598/problem/D | -dsu / dfs | https://www.hackerearth.com/login/?next=/code-monk-graph-theory-i/algorithm/kingdom-of-monkeys/ | -dsu | https://www.hackerearth.com/problem/algorithm/kingdom-of-monkeys/ | dsu | https://www.urionlinejudge.com.br/judge/en/problems/view/1527 | -kruskal | https://www.hackerearth.com/code-monk-minimum-spanning-tree/algorithm/maximum-spanning-tree/ | kruskal | https://icpcarchive.ecs.baylor.edu/index.php?option=onlinejudge&page=show_problem&problem=5013 | -kruskal | https://www.hackerearth.com/code-monk-minimum-spanning-tree/algorithm/quantitative-coefficient/ | dijkstra | https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=657&page=show_problem&problem=4897 | dijkstra | http://www.spoj.com/problems/EZDIJKST/ | - diff --git a/README-OLD.md b/README-OLD.md new file mode 100644 index 0000000..2bd740d --- /dev/null +++ b/README-OLD.md @@ -0,0 +1,138 @@ +# Competitive programming guideline + + +## About +This is another guide about the basic topics in competitive programming, +the main goal in this project is to be a reference for students at UTP. + +## Meetings +There are weekly meetings at R-214 (Universidad Tecnológica de Pereira), +feel free to assist there and make questions, solve problems and have fun (: + +The meetings are every thursday at 4pm. + +We encourage everyone to take part of this project, +even if you don't like the competitive programming. +There are really amazing topics to learn about. + +## Aditional Resources. + + - Arup Guha + - [Programming Team Modules: Course One](http://www.cs.ucf.edu/~dmarino/progcontests/modules/firstcourse.html) + - [Programming Team Modules: Course Two](http://www.cs.ucf.edu/~dmarino/progcontests/modules/secondcourse.html) + +## The plan +We aim to talk about the following topics. (in that order) + +Introduction | requisites | +:-- | :--: | +Introduction to competitive programming || +Judging system || +Input / output || +classical problems || + + +basic data structures | requisites | +:-- | :--: | +vector || +queue || +dequeue || +stack || +list || + +basic data structures II | requisites | +:-- | :--: | +disjoint set || +priority queue || +set || +map || + + +graphs I | requisites | +:-- | :--: | +graph representation | basic data structures | +bfs / dfs || +topological sort || +bipartite graph check || +shortest path || +minimum spanning tree || +special graphs || + +strings I | requisites | +:-- | :--: | +overview || +string matching - KMP|| +string matching - Z algorithm || + +dynamic programming I | requisites | +:-- | :--: | +overview || +1D || +Fibonacci example || +Palindromes || +2D || + + +probability I | requisites | +:-- | :--: | +overview | dynamic programming I| +probability || +expected value || + + +Math I | requisites | +:-- | :--: | +eratosthenes sieve || +primes || +gcd / lcm || +modular arithmetic || + +Algorithms | requisites | +:-- | :--: | +sliding window || +sweep line || +Mo's algorithm || + +Geometry I | requisites | +:-- | :--: | +introduction || +vectors || +line-point distance || +polygon area || +line-line intersection || + +graphs II | requisites | +:-- | :--: | +strongly connected components | | +bridges and articulation points|| +topological sort || + +Geometry II | requisites | +:-- | :--: | +finding a circle from 3 points || +convex hull || + +Advanced datastructures | requisites | +:-- | :--: | +trie || +binary indexed tree || +segment tree || +treap || + + +**_Work in progress_** + + +## Practice +We have selected some problems in order to practice all that theory. + +[Practice problems](https://github.com/in-silico/cp-guideline/blob/master/Problems.md) + +## Online problems + +[Problem sets - Competitive programming](https://github.com/vhf/free-programming-books/blob/master/problem-sets-competitive-programming.md) + +____ + + +
Developed by In-silico.
diff --git a/README.md b/README.md index 7b03b0d..7fd2769 100644 --- a/README.md +++ b/README.md @@ -1,134 +1,52 @@ -# Competitive programming guideline - - -## About -This is another guide about the basic topics in competitive programming, -the main goal in this project is to be a reference for students at UTP. - -## Meetings -There are weekly meetings at R-214 (Universidad Tecnológica de Pereira), -feel free to assist there and make questions, solve problems and have fun (: - -The meetings are every thursday at 4pm. - -We encourage everyone to take part of this project, -even if you don't like the competitive programming. -There are really amazing topics to learn about. - -## Aditional Resources. - - - Arup Guha - - [Programming Team Modules: Course One](http://www.cs.ucf.edu/~dmarino/progcontests/modules/firstcourse.html) - - [Programming Team Modules: Course Two](http://www.cs.ucf.edu/~dmarino/progcontests/modules/secondcourse.html) - -## The plan -We aim to talk about the following topics. (in that order) - -Introduction | requisites | -:-- | :--: | -Introduction to competitive programming || -Judging system || -Input / output || -classical problems || - - -basic data structures | requisites | -:-- | :--: | -vector || -queue || -dequeue || -stack || -list || - -basic data structures II | requisites | -:-- | :--: | -disjoint set || -priority queue || -set || -map || - - -graphs I | requisites | -:-- | :--: | -graph representation | basic data structures | -bfs / dfs || -topological sort || -bipartite graph check || -shortest path || -minimum spanning tree || -special graphs || - -strings I | requisites | -:-- | :--: | -overview || -string matching - KMP|| -string matching - Z algorithm || - -dynamic programming I | requisites | -:-- | :--: | -overview || -1D || -Fibonacci example || -Palindromes || -2D || - - -probability I | requisites | -:-- | :--: | -overview | dynamic programming I| -probability || -expected value || - - -Math I | requisites | -:-- | :--: | -eratosthenes sieve || -primes || -gcd / lcm || -modular arithmetic || - -Algorithms | requisites | -:-- | :--: | -sliding window || -sweep line || -Mo's algorithm || - -Geometry I | requisites | -:-- | :--: | -introduction || -vectors || -line-point distance || -polygon area || -line-line intersection || - -graphs II | requisites | -:-- | :--: | -strongly connected components | | -bridges and articulation points|| -topological sort || - -Geometry II | requisites | -:-- | :--: | -finding a circle from 3 points || -convex hull || - -Advanced datastructures | requisites | -:-- | :--: | -trie || -binary indexed tree || -segment tree || -treap || - - -**_Work in progress_** - - -## Practice -We have selected some problems in order to practice all that theory. - -[Practice problems](https://github.com/in-silico/cp-guideline/blob/master/Problems.md) - -## Online problems +# Guía de programación competitiva + +## Sobre nosotros +Esta es otra guía sobre los temas básicos en la programación competitiva. +Aquí también estará el material y lo ejercicios propuestos en las charlas cada semana. La solución a los ejercicios propuestos serán discutidos la siguiente semana y serán publicados en el [blog de In-Silico](https://in-silico.github.io/blog/). + +El objetivo principal de este proyecto es ser una referencia para los estudiantes de la Universidad Tecnológica de Pereira, esperamos que lo disfruten. + +## Reuniones semanales +Las reuniones son todos los jueves de 09:00am - 11:00am en la sala R-208(por confimar). + +No dude en asistir allí y hacer preguntas, resolver problemas y divertirse (: + +Ademas animamos a todos a participar en este proyecto, +incluso si no les gusta la programación competitiva, +hay temas realmente increíbles para aprender. + +## Recursos adicionales. + + - **Cursos:** + - [How to Win Coding Competitions: Secrets of Champions](https://www.edx.org/course/how-win-coding-competitions-secrets-itmox-i2cpx-0)¹ + - **Libros:** + - Competitive Programming 3 | Steven & Felix Halim. + - Introduction to Algorithms | Thomas H. Cormen. + - **Jueces:** + - HackerRank + - Codeforces + - UVa + - URI + - USACO + +¹ El curso inicia el lunes 6 de marzo y tiene una duración de 5 semanas. + +## Plan de trabajo + +Semana 1 | Material | +:-- | :--: | +Introducción a la programación competitiva |[Diapositivas](https://github.com/in-silico/cp-guideline/blob/master/Material/Semana-1/Introduccion.pdf)| +Ejercicios calentamiento | [Warmup - HackerRank](https://www.hackerrank.com/domains/algorithms/warmup) | + +**_Trabajo en proceso_** + + +## Entrenamiento +Hemos seleccionado algunos problemas para practicar toda esta teoría. + +[Problemas de practica](https://github.com/in-silico/cp-guideline/blob/master/Problems.md) + +## Online problems [Problem sets - Competitive programming](https://github.com/vhf/free-programming-books/blob/master/problem-sets-competitive-programming.md)