# TDDD95 Algorithmic Problem Solving

### Exercises

# Exercises

There are 14 homework exercises in the course, one for each week. Each consists of 4 problems that should be solved individually.

The purpose of the exercises is to:

- Use algorithm design techniques such as greedy algorithms, dynamic programming, divide and conquer, and combinatorial search to construct algorithms to solve given problems.
- Quickly and correctly implement algorithms and data structures.
- Effectively test and debug algorithms and data structures.

Problems solved before the deadline gives 1 point and problems solved after the deadline gives 0.5 points towards the grade on UPPG1. Problems marked with (*) are considered to be more difficult and to get a 5 on the course it is necessary to solve at least half of the marked problems, i.e. at least 7 in total. Solutions to the problems will be discussed at the seminare right after the deadline. Students should be prepared to present their solutions and answers to the exercise questions at the practice sessions. To pass the course at least one exercise from each week has to be solved.

The exercises will be published on this page as the course progresses. The automatic judge Kattis is used to manage the exercises.

## Exercise 1: Greedy Problems and Dynamic Programming I

**Deadline 2018-01-26 kl 10:00**

## Exercise 2: Data structures

**Deadline 2018-02-02 kl 10:00**

## Exercise 3: Arithmetic

**Deadline 2018-02-09 kl 10:00**

## Exercise 4: Greedy Problems and Dynamic Programming II

**Deadline 2018-02-16 kl 10:00**

- Cudak
- Funny Games (*)
- Square Fields (Hard) (Even though the problem name includes "hard" this problem is not marked with a *.)
- The Uxuhul Voting System

## Exercise 5: Graphs I

**Deadline 2018-02-21 kl 10:00**

## Exercise 6: Graphs II

**Deadline 2018-03-02 kl 10:00**

## Exercise 7: Graphs III

**Deadline 2018-03-07 kl 10:00**

## Exercise 8: Mixed

**Deadline 2018-03-28 kl 08:00**

## Exercise 9: Strings I

**Deadline 2018-04-13 kl 10:00**

## Exercise 10: Strings II

**Deadline 2018-04-20 kl 10:00**

## Exercise 11: Search

**Deadline 2018-04-27 kl 10:00**

## Exercise 12: Math-related Problems

**Deadline 2018-05-09 kl 08:00**

## Exercise 13: Computational Geometry

**Deadline 2018-05-18 kl 10:00**

## Exercise 14: Combinatorics and Probability Theory

**Deadline 2018-05-25 kl 13:00**

Page responsible: Fredrik Heintz

Last updated: 2018-03-20