Vous êtes sur la page 1sur 17

Competition Programming Tutorial

Dario Fischbein

Competition Programming Tutorial p. 1/1

What is it about?
Problem Solving Programming Team Work Strategy Training

Competition Programming Tutorial p. 2/1

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/1

Graph Algorithms
Dijkstra Floyd BFS/DFS Bellman-Ford Kruskal (union nd) Prime Ford-Fullkerson - Preow-push

Competition Programming Tutorial p. 4/1

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/1

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/1

Useful Links
Valladolid Online Judge acm.uva.es/problemset/

International Collegiate Programming Contes icpc.baylor.edu/icpc/ TopCoder www.topcoder.com/tc/ The Algorithmist www.algorithmist.com/

Competition Programming Tutorial p. 7/1

Class Organization
15:00 - 15:15 Individual questions 15:15 - 16:30 Problem solving - mini contest 16:30 - 17:00 Problem discussion

Competition Programming Tutorial p. 8/1

Problem Set For 8/Feb


Minimal coverage (10020) Shoemakers Problem (10026) Divisibility (10036)

Competition Programming Tutorial p. 9/1

For the Week


Problems Camel trading (10700) Constructing BST (10821) Take the Land (10074) Reading

Greedy Algorithms en.wikipedia.org/wiki/Greedy_algorithm Dynamic programming


en.wikipedia.org/wiki/Dynamic_programming

Competition Programming Tutorial p. 10/1

Problem Set For 15/Feb


Whats Cryptanalysis? (10008) Simple calculations (10014) Flip Sort (10327)

Competition Programming Tutorial p. 11/1

For the Week


Problems Euclids Game (10368) Twin Primes (10394) Flip-Flop the Squarelotron (10016) Reading Sorting
www.algorithmist.com/index.php/Sorting

www.sgi.com/tech/stl/sort.html (/stable_sort.htm

Euclidean algorithm

en.wikipedia.org/wiki/Euclidean_algorithm p. 12/1 Competition Programming Tutorial

Problem Set For 22/Feb


Adventures in Moving - Part IV (uva:10201)(pku:2465) Pairsumonious Numbers (uva:10202)(pku:2466) Snow Clearing (uva:10203)(pku:2467) Stack em Up (uva:10205)(pku:2469)

Competition Programming Tutorial p. 13/1

Problem Set For 8/Mar


Injured Queen Problem (uva:10401) A Star not a Tree? (uva:10228) (pku:2420) Arbitrage (uva:104) (pku:1238)

New Judge: http://acm.pku.edu.cn/JudgeOnline

Competition Programming Tutorial p. 14/1

For the Week


Problems Longest Common Subsequence (uva:10405) Folding My T-Shirt (uva:10416) Reading Longest increasing subsequence problem
en.wikipedia.org/wiki/Longest_increasing_subsequence_problem

Bellman-Fork algorithm
en.wikipedia.org/wiki/Bellman-Ford_algorithm

Competition Programming Tutorial p. 15/1

Problem Set For 15/Mar


Problems to Solve Common Subsequence (pku:1458) Freckles (uva:10034) (pku:2560) Intersection (uva:191)(pku:1410) Code to x Injured Queen Problem (p10401 - to x.cpp) Flip Sort (p10327 - to x.cpp)

Competition Programming Tutorial p. 16/1

For the Week


Reading Eulerian path
en.wikipedia.org/wiki/Eulerian_path

Competition Programming Tutorial p. 17/1

Vous aimerez peut-être aussi