Professional Documents
Culture Documents
Competition Programming Tutorial
Competition Programming Tutorial
Dario Fischbein
What is it about?
Problem Solving Programming Team Work Strategy Training
Problem Types
Sorting Arithmetic / Number theory / Combinatory Recurrence relations and counting Backtracking Graph algorithms Greedy Dynamic programming Computational geometry Parsing
Competition Programming Tutorial p. 3/17
Graph Algorithms
Dijkstra Floyd BFS/DFS Bellman-Ford Kruskal (union nd) Prime Ford-Fullkerson - Preow-push
Strategy
How the ranking is done in ACM Contest Easiest -> hardest Do not debug, do review Plan and re-plan de the schedule Role of each one Use of WA and TLE to get information Add simple test cases Log of your own errors Use of the score board The last hour
Competition Programming Tutorial p. 5/17
Strategy
How the ranking is done in ACM Contest Easiest -> hardest Do not debug, do review Plan and re-plan de the schedule Role of each one Use of WA and TLE to get information Add simple test cases Log of your own errors Use of the score board The last hour
Competition Programming Tutorial p. 6/17
Useful Links
Valladolid Online Judge acm.uva.es/problemset/ International Collegiate Programming Contest icpc.baylor.edu/icpc/ TopCoder www.topcoder.com/tc/ The Algorithmist www.algorithmist.com/
Class Organization
15:00 - 15:15 Individual questions 15:15 - 16:30 Problem solving - mini contest 16:30 - 17:00 Problem discussion
Euclidean algorithm
en.wikipedia.org/wiki/Euclidean_algorithm Competition Programming Tutorial p. 12/17
Bellman-Fork algorithm
en.wikipedia.org/wiki/Bellman-Ford_algorithm