-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathschedule.Rmd
More file actions
248 lines (196 loc) · 9.99 KB
/
schedule.Rmd
File metadata and controls
248 lines (196 loc) · 9.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
---
title: "Schedule"
---
```{r setup, include=FALSE}
htmltools::tagList(rmarkdown::html_dependency_font_awesome())
```
[Schedule - initial proposal](./files/schedule.pdf)
## Topics
- Introduction
- Complete Search
- Divide and Conquer
- Game Theory
- Graph Theory
### Introduction
* <div id="s-class-01">[**Class 1: Introduction**](./class-01.html)</div>
**Topics**
+ What is competitive programming?
+ Topics of the course
+ Virtual Judges
+ Problem structure
+ Veredicts information
+ Environment setup
**Readings**
+ [Training Camp Argentina 2019. Nivel Inicial. E/S + Intro](https://tc-arg.tk/pdfs/2019/ipc.pdf)
+ [Competitive Programming 3, chapter 1](https://cpbook.net/)
+ [Errichto - How to test your solutions in Competitive Programming, on
Linux](https://www.youtube.com/watch?v=JXTVOyQpSGM)
+ [An awesome list for competitive programming](https://codeforces.com/blog/entry/23054)
* <div id="s-class-02">[**Class 2: Asymptotic Analysis**](./class-02.html)</div>
**Topics:**
- Motivation
- Sampling an extrapolation
- Big Oh notation
- Asymptotic Analysis
- Space and Time Complexity
**Readings**
+ [Antti Laaksonen.Competitive programmer’s handbook - chapter 1 and 4](https://jadi.net/wp-content/uploads/2017/07/competetive-programmers-handbook.pdf)
+ [Competitive Programmer's Handbook, chapter 2](https://jadi.net/wp-content/uploads/2017/07/competetive-programmers-handbook.pdf)
+ [Learn Data Structures and Algorithms, section Asymptotic analysis](https://www.codechef.com/certification/data-structures-and-algorithms/prepare)
* <div id="s-class-03">[**Class 3: Standard Template Library**](./class-03.html)</div>
**Topics**
+ Standard Template Library (STL)
+ Numeric data types and its operations
+ String
+ Vector
+ Set
+ Map
+ Struct
**Readings**
+ [Antti Laaksonen.Competitive programmer’s handbook - chapter 1 y 4](https://jadi.net/wp-content/uploads/2017/07/competetive-programmers-handbook.pdf)
+ [Competitive C++ Manifesto: A Style Guide](https://codeforces.com/blog/entry/64218)
+ [TopCoder - Power up C++ with the Standard Template Library - Part I](https://www.topcoder.com/community/competitive-programming/tutorials/power-up-c-with-the-standard-template-library-part-1/)
### Complete Search
* <div id="s-class-04">[**Class 4: Complete Search I**](./class-04.html)</div>
**Topics**
+ Problem solving paradigms
+ Pythagorean triples
+ Primality Test
+ Sieve of Eratosthenes
+ Finding the number of divisors of a number
+ $\sigma_{0}(n) = O(\sqrt[3]{n})$
**Readings**
+ Competitive Programming 3, section 3.2 y 5.5.1
+ [Codeforces - How to come up with the solutions: techniques](https://codeforces.com/blog/entry/20548)
+ [Codeforces - Amount of divisors of N](https://codeforces.com/blog/entry/13585)
+ [Codeforces - Counting Divisors of a Number in $O(\sqrt[3]{n})$ - Tutorial](https://codeforces.com/blog/entry/22317)
* <div id="s-class-05">[**Class 5: Complete Search II**](./class-05.html)</div>
**Topics**
+ Fixing variables
+ Simulation with brute force
+ Weak constraints
+ Case analysis
+ Extra: Prefix sums
**Readings**
+ [Notas de fuerza bruta](https://gist.github.com/miguelAlessandro/f588d159a768dc43cc1ec9b81b27bd57)
+ [PCUNI-2019 Clase 05](https://nbviewer.jupyter.org/github/TISparta/pcuni-2019/blob/master/clase-05/clase-05.ipynb)
+ [Topcoder - Representation of integers and reals section 1](https://www.topcoder.com/community/competitive-programming/tutorials/representation-of-integers-and-reals-section-1/)
+ [Topcoder - Representation of integers and reals section 2](https://www.topcoder.com/community/competitive-programming/tutorials/representation-of-integers-and-reals-section-2/)
* <div id="s-class-06">[**Class 6: Complete Search III**](./class-06.html)</div>
**Topics**
+ Two pointers
+ Recursion
+ Modular arithmetic
+ Binary exponenciation
**Readings**
+ Concrete Mathematics - Knuth. Chapter 1
+ [Modular Arithmetic for Beginners](https://codeforces.com/blog/entry/72527)
+ [Competitive Programmer’s Handbook, chapters 5, 8 y 21](https://jadi.net/wp-content/uploads/2017/07/competetive-programmers-handbook.pdf)
+ Principles of Algorithmic Problem Solving, sections 15.6 y 15.7
+ [Learn Data Structures and Algorithms, section Basic Recursion](https://www.codechef.com/certification/data-structures-and-algorithms/prepare)
+ [E-maxx Binary Exponentiation](https://cp-algorithms.com/algebra/binary-exp.html)
* <div id="s-class-07">[**Class 7: Complete Search IV**](./class-07.html)</div>
**Topics**
+ Contribution technique
+ Seaching over all the permutations
+ Binary representation
+ Bitwise operations
+ Brute force on bitmasks
**Readings**
+ Competitive Programming 3, section 2.1 and 2.2.
+ [Competitive Programmer’s Handbook, chapter 10](https://jadi.net/wp-content/uploads/2017/07/competetive-programmers-handbook.pdf)
+ [GPC-UNI Clase 4](https://nbviewer.jupyter.org/github/GPC-UNI/Programacion-Competitiva/blob/master/uni-no-fiis/clase-04/clase-04.ipynb)
+ [GPC-UNI Clase 5](https://nbviewer.jupyter.org/github/GPC-UNI/Programacion-Competitiva/blob/master/uni-no-fiis/clase-05/clase-05.ipynb)
+ [PCUNI-2019 Clase 7](https://nbviewer.jupyter.org/github/TISparta/pcuni-2019/blob/master/clase-07/clase-07.ipynb)
+ [Principles of Algorithmic Problem Solving, chapter 7](https://www.csc.kth.se/~jsannemo/slask/main.pdf)
* <div id="s-class-08">[**Class 8: Complete Search V**](./class-08.html)</div>
**Topics**
+ Power set
+ 0-1 Knapsack problem
+ Permutations
+ Sudoku
+ N-queen problem
**Readings**
+ [HackerEarth - Recursion and Backtracking](https://www.hackerearth.com/practice/basic-programming/recursion/recursion-and-backtracking/tutorial/)
+ Competitive Programming 3, section 3.2.2, 8.2.1 and 8.2.2.
+ [GeekForGeeks - Backtracking Algorithms](https://www.geeksforgeeks.org/backtracking-algorithms/)
* <div id="s-class-09">[**Class 9: Contest I**](./class-09.html)</div>
* <div id="s-class-10">[**Class 10: Contest UTEC-UNI-UPC I**](./class-10.html)</div>
### Divide and Conquer
* <div id="s-class-11">[**Class 11: Divide and Conquer I**](./class-11.html)</div>
**Topics**
+ The divide and conquer paradigm
+ Binary search
+ Lower bound
+ Upper bound
+ Binary search on the answer
**Readings**
+ [Errichto - Binary search lecture (C++ and Python)](https://www.youtube.com/watch?v=GU7DpgHINWQ)
+ [Topcoder - Binary search](https://www.topcoder.com/community/competitive-programming/tutorials/binary-search/)
+ [Competitive Programmer's Handbook, chapter 3](https://jadi.net/wp-content/uploads/2017/07/competetive-programmers-handbook.pdf)
+ [Principles of Algorithmic Problem Solving, section 10.3](https://www.csc.kth.se/~jsannemo/slask/main.pdf)
* <div id="s-class-12">[**Class 12: Divide and Conquer II**](./class-11.html)</div>
**Topics**
+ Generalized binary search
+ Ternary search
+ Merge sort
+ Inductive constructions
**Readings**
+ [Principles of Algorithmic Problem Solving, section 10.1 and 10.2](https://www.csc.kth.se/~jsannemo/slask/main.pdf)
+ [E-maxx - Ternary search](https://cp-algorithms.com/num_methods/ternary_search.html)
+ [HackerEarth - Searching [Tutorial]](https://www.hackerearth.com/practice/algorithms/searching/linear-search/tutorial/)
+ [PCUNI-2019 clase 16](https://nbviewer.jupyter.org/github/TISparta/pcuni-2019/blob/master/clase-16/clase-16.ipynb)
+ [Topcoder - Binary stride a variant on binary search](https://www.topcoder.com/binary-stride-a-variant-on-binary-search/)
### Game Theory
* <div id="s-class-13">[**Class 13: Game Theory I**](./class-13.html)</div>
**Topics**
+ Introduction
+ WL states
+ The game of Nim
+ Grundy numbers
+ Sprague-Grundy theorem
**Readings**
+ [Game theory - Thomas S. Ferguson. Chapter 1-4](https://www.math.ucla.edu/~tom/Game_Theory/comb.pdf)
+ [Ali Ibrahim Site - Game Theory](https://ali-ibrahim137.github.io/competitive/programming/2020/02/26/Game-Theory.html)
+ [Algorithm Games - Topcoder](https://www.topcoder.com/community/competitive-programming/tutorials/algorithm-games/)
+ [Game Theory For Competitive Programming](https://stepupanalytics.com/game-theory-for-competitive-programming/)
* <div id="s-class-14">[**Class 14: Game Theory II**](./class-14.html)</div>
**Topics**
+ Grundy’s games
+ Staircase Nim
+ Misère games
+ Minimax
+ Alpha-Beta prunning
**Readings**
+ [Game theory - Thomas S. Ferguson. Chapter 1-4](https://www.math.ucla.edu/~tom/Game_Theory/comb.pdf)
+ [Competitive Programmer's Handbook, chapter 25](https://jadi.net/wp-content/uploads/2017/07/competetive-programmers-handbook.pdf)
+ [E-maxx Sprague-Grundy theorem. Nim](https://cp-algorithms.com/game_theory/sprague-grundy-nim.html)
+ [Search: Games, Minimax, and Alpha-Beta](https://youtu.be/STjW3eH0Cik)
* <div id="s-class-15">[**Class 15: Contest II**](./class-15.html)</div>
* <div id="s-class-16">[**Class 16: Contest UTEC-UNI-UPC II**](./class-16.html)</div>
### Graph Theory
* <div id="s-class-17">[**Class 17: Graph Theory I**](./class-13.html)</div>
**Topics**
+ Introduction
+ Graph representation
+ Distance in graphs
+ Graph isomorphism
+ Graph score
+ Trees
+ BFS
+ DFS
+ Diameter of a tree
+ Isomorphism of trees
**Readings**
+ [Introduction to Algorithms - Sections 22.1, 22.2, 22.3](https://www.amazon.com/-/es/Thomas-H-Cormen/dp/0262033844)
+ [Invitation to Discrete Mathematics, chapter 4 and and sections 5.1, 5.2](https://www.amazon.com/-/es/Jiri-Matousek/dp/0198570422)
+ [Algorithms Live! - Episode 1 - Trees and Diameters](https://www.youtube.com/watch?v=2PFl93WM_ao)
+ [E-maxx Breadth-first search](https://cp-algorithms.com/graph/breadth-first-search.html)
+ [E-maxx Depth First Search](https://cp-algorithms.com/graph/depth-first-search.html)
+ [The () Canonical Form of a Tree](http://webhome.cs.uvic.ca/~wendym/courses/582/16/notes/582_12_tree_can_form.pdf)
<div id="final"></div>
<script>
$('#all-summer').collapse('show');
$("#schedule-page")
.addClass("active");
</script>