Sample Solutions Central Europe Regional Contest 2007

Содержание

Слайд 2

B: Billboard

B: Billboard

Слайд 3

Billboard – Problem

Test all existing subsets
2256 possibilities for the 16x16 board

Billboard – Problem Test all existing subsets 2256 possibilities for the 16x16 board ☹

Слайд 4

Billboard – Main Idea

What if we somehow knew the tapped tiles in

Billboard – Main Idea What if we somehow knew the tapped tiles in the first row?
the first row?

Слайд 5

Billboard – Main Idea

We can try what happens with the row
WOW! It

Billboard – Main Idea We can try what happens with the row
is easy to find the second one!

Слайд 6

Billboard – Main Idea

We can try what happens with the row
WOW! It

Billboard – Main Idea We can try what happens with the row
is easy to find the second one!

Слайд 7

Billboard – Main Idea

Let’s also do it…
The third row becomes evident
… and

Billboard – Main Idea Let’s also do it… The third row becomes
so on

Слайд 8

Billboard – Solution

Ok, but how to find the first row?
We will try

Billboard – Solution Ok, but how to find the first row? We
all possibilities!
Approx. 216 * 162

Слайд 9

C: Phone Cell

C: Phone Cell

Слайд 10

Cell – Problem

Find a circle that covers most points
Center may not be

Cell – Problem Find a circle that covers most points Center may
in an existing point
? Solution will always touch 2 points

Слайд 11

Cell – Simple Solution

Take all pairs, find a circle
Then all other points

Cell – Simple Solution Take all pairs, find a circle Then all
must be tested
? Time: n3 ☹

Слайд 12

Cell –Solution

For each point, use “sweep” technique
Find „interesting angles“ and sort them

Cell –Solution For each point, use “sweep” technique Find „interesting angles“ and sort them

Слайд 13

Cell –Solution

One sorting for each point
? Time: n2 . log n
Carefully with

Cell –Solution One sorting for each point ? Time: n2 . log
floating point numbers!

Слайд 14

H: Hexagon

H: Hexagon

Слайд 15

Hexagon – Idea

All combinations of 2 green points

Hexagon – Idea All combinations of 2 green points

Слайд 16

Hexagon – Solution

Handle “special” cases

Hexagon – Solution Handle “special” cases

Слайд 17

Hexagon –Solution II

Dynamic Programming
For all area subsets (16), find the best solution

Hexagon –Solution II Dynamic Programming For all area subsets (16), find the
using each parcel

Слайд 19

Keys – Idea

Breadth-First search
Combination of position and keys (!)
4 keys => 16

Keys – Idea Breadth-First search Combination of position and keys (!) 4 keys => 16 combinations
combinations

Слайд 20

Keys – Idea

Position (1,7) + Red Key
(1,8) + Red/Yellow
(1,6) + Red

Keys – Idea Position (1,7) + Red Key (1,8) + Red/Yellow (1,6) + Red

Слайд 22

Logic – Problem

Problem? There is no problem
“Only” follow the connections
Compute logical operations

Logic – Problem Problem? There is no problem “Only” follow the connections Compute logical operations

Слайд 23

Logic – Potential Pitfalls

Gates with no input
AND ? 1
OR ? 0
XOR ?

Logic – Potential Pitfalls Gates with no input AND ? 1 OR
0

Слайд 24

Logic – Potential Pitfalls

Splitting and joining paths
=> We must remember, what has

Logic – Potential Pitfalls Splitting and joining paths => We must remember,
already been computed

&

&

&

&

&

Слайд 25

N: Numbers

10101010100101-2 = -10907

N: Numbers 10101010100101-2 = -10907

Слайд 26

Numbers – Solution

TO decimal:
Use the formula in the problem statement
4257-10 = -4000

Numbers – Solution TO decimal: Use the formula in the problem statement
+ 200 – 50 + 7 = -3843

Слайд 27

Numbers – Solution

FROM decimal:
Use remainders (modulo)
Careful with the negative numbers!
4237 mod 10

Numbers – Solution FROM decimal: Use remainders (modulo) Careful with the negative
= 7 -> 423
-423 mod 10 = 7 -> -43
43 mod 10 = 3 -> 4
-4 mod 10 = 6 -> -1
1 mod 10 = 1
-> 16377

Слайд 28

P: Polygon

P: Polygon

Слайд 29

Polygon – Problem

Find the order of polygon vertices

Polygon – Problem Find the order of polygon vertices

Слайд 30

Polygon – Idea

Sort the vertices by their X coordinate

1

3

2

4

5

6

7

8

Polygon – Idea Sort the vertices by their X coordinate 1 3

Слайд 31

Polygon – Idea

=> Find their horizontal neighbor

1

3

2

4

5

6

7

8

Polygon – Idea => Find their horizontal neighbor 1 3 2 4 5 6 7 8

Слайд 32

Polygon – Idea

Sort by Y => vertical neighbor

1

5

3

7

4

6

2

8

Polygon – Idea Sort by Y => vertical neighbor 1 5 3

Слайд 33

Polygon – Solution

Now, each vertex knows its neighbors
Start with the first, and

Polygon – Solution Now, each vertex knows its neighbors Start with the first, and walk around
walk around

Слайд 34

Polygon – Solution

Count Left / Right turns
Left > Right ? => counter-clockwise

R

L

L

L

L

L

R

Polygon – Solution Count Left / Right turns Left > Right ?

Слайд 35

R: Roshambo

R: Roshambo

Слайд 36

S: Robotic Sort

S: Robotic Sort

Слайд 37

Sort – Problem

Naive approach – reverse in an array
Little bit better: remember

Sort – Problem Naive approach – reverse in an array Little bit
reversed
Quadratic time ? 100 0002 ☹

Слайд 38

Sort – Another Approach

Double-linked list
Problem finding the „forward direction“

5

4

7

1

2

8

3

5

4

7

1

2

8

3

Sort – Another Approach Double-linked list Problem finding the „forward direction“ 5

Слайд 39

Sort – Solution

Combined solution: use both
Linked list + array of reversed
The array

Sort – Solution Combined solution: use both Linked list + array of
time: O(rev_before)
After SQRT(n) steps: reorder
? n.SQRT(n) time

Слайд 40

Sort – Solution II

Other possibilities - ???
Heap
Interval Trees
… ?

Sort – Solution II Other possibilities - ??? Heap Interval Trees … ?

Слайд 42

Water – Problem

Find the Center of Mass
Amount of water with the lowest

Water – Problem Find the Center of Mass Amount of water with the lowest center
center

Слайд 43

Water – Idea

Split the glass into horizontal slices
Volume of one slice: π.r2.d

Water – Idea Split the glass into horizontal slices Volume of one slice: π.r2.d

Слайд 44

Water – Solution

Center of Mass of the glass
Weighted average of all slices

Water – Solution Center of Mass of the glass Weighted average of all slices

Слайд 45

Water – Solution

Add the water “slowly”
Center of water mass

Water – Solution Add the water “slowly” Center of water mass

Слайд 46

Water – Solution

Combine both centers (weighted average)

Water – Solution Combine both centers (weighted average)

Слайд 47

Water – Solution

Water reached the center ? => END!
(Linear time needed only)

Water – Solution Water reached the center ? => END! (Linear time needed only)