Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (1 vote)
229 views

Algorithm Tutorials

This document outlines a competition programming tutorial that covers topics like problem solving strategies, common problem types, graph algorithms, and class organization. It provides an overview of the material and includes problem sets, practice problems, and reading assignments that cover topics like sorting, greedy algorithms, dynamic programming, and graph traversal algorithms. The goal is to help students prepare for programming competitions through problem solving practice, discussions of common problem types, and learning relevant algorithms.

Uploaded by

Krutarth Patel
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
229 views

Algorithm Tutorials

This document outlines a competition programming tutorial that covers topics like problem solving strategies, common problem types, graph algorithms, and class organization. It provides an overview of the material and includes problem sets, practice problems, and reading assignments that cover topics like sorting, greedy algorithms, dynamic programming, and graph traversal algorithms. The goal is to help students prepare for programming competitions through problem solving practice, discussions of common problem types, and learning relevant algorithms.

Uploaded by

Krutarth Patel
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 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

You might also like