Northern Subregional Contest ACM ICPC 2015−2016,...

42
Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem Analysis

Transcript of Northern Subregional Contest ACM ICPC 2015−2016,...

Page 1: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

Northern Subregional ContestACM ICPC 2015−2016, NEERC

Problem Analysis

Page 2: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

2Георгий Корнеев

Alex Origami SquaresProblem A

Page 3: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

3Георгий Корнеев

Problem statement

Given a rectangle h by wCut 3 equal maximum squares

ACM ICPC NEERC Northern Subregion 2015-2016 / Problem analysis

Page 4: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

4Георгий Корнеев

Solution

max( min / 2.0, // Case 1 min( max / 3.0,// Case 2 min, // Case 3 ))

ACM ICPC NEERC Northern Subregion 2015-2016 / Problem analysis

Page 5: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

5Георгий Корнеев

Black and White Problem B

Page 6: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

6Георгий Корнеев

Problem statement

Build a black and white grid B black regions черных областей W white regions Regions are 4-connected

ACM ICPC NEERC Northern Subregion 2015-2016 / Problem analysis

Page 7: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

7Георгий Корнеев

Problem analysis

This construction works

ACM ICPC NEERC Northern Subregion 2015-2016 / Problem analysis

Page 8: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

8Георгий Корнеев

ConcatenationProblem C

Page 9: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

9Георгий Корнеев

Problem statement

Calculate the number of strings Formed by a concatenation of Nonempty prefix of S1 Nonempty suffix of S2

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

Page 10: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

10Георгий Корнеев

Solution idea

When duplicates happen? Same letter in 2 strings

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

Page 11: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

11Георгий Корнеев

Solution

Calculate the frequencies

C1i – frequency of i in S1

C2i – frequency of i in S2

Answer is

Look out for int overflowACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

Page 12: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

12Георгий Корнеев

Distribution in MetagoniaProblem D

Page 13: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

13Георгий Корнеев

Problem statement

Represent N as sum of terms 2a3b

Any number shouldn't be divisible by other

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

Page 14: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

14Георгий Корнеев

Solution

For even n Solve for n/2 Multiply everything by 2

For odd n Solve for n – 3b, where b is max

possible Add 3b to the result

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

Page 15: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

15Георгий Корнеев

Easy ArithmeticProblem E

Page 16: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

16Георгий Корнеев

Problem statement

Add plus and minus signs to expression Maximize the result

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

Page 17: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

17Георгий Корнеев

+d1d

2...d

k → leave as is

-d1d

2...d

k → transform into -d

1+d

2...d

k

Except for d2=0

-d1+0+d

3...d

k

Solution

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

Page 18: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

18Георгий Корнеев

FygonProblem F

Георгий КорнеевПавел МавринПавел Маврин

Автор:Условие:

Тесты:

Page 19: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

19Георгий Корнеев

Problem statement

Calculate the number of lag calls Output as polynomial of n For-loops

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

for i in range(n): for j in range(i): for x in range(5): laglag

Page 20: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

20Георгий Корнеев

Solution

Polynomial's degree Equal to the number of nested loops Less than or equal to 6

Answer Interpret for n=0,1,…6 Use interpolation formulas

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

Page 21: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

21Георгий Корнеев

GraphProblem G

Page 22: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

22Георгий Корнеев

Problem statement

Given a DAGAdd at most k edges Maximize minimum possible

topological sort

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

Page 23: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

23Георгий Корнеев

Solution

Construct a lex-min topological sortYou can add a vertex when: No incoming edges Choose minimum of those

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

Page 24: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

24Георгий Корнеев

Inserting new edges

Many possible vertices Add edge leading to minimal vertex

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

Page 25: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

25Георгий Корнеев

Inserting new edges

Single candidate remaining ? < d print and remove d⇒ ? > d insert new edge to ? from last ⇒

vertex in the output

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

Page 26: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

26Георгий Корнеев

Implementation

Vertex In/out degree Remove an edge in O(1)

Ordered set

Candidates

Vertices with an edge

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

Page 27: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

27Георгий Корнеев

Hash Code HackerProblem H

Page 28: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

28Георгий Корнеев

Problem statement

Generate n strings with equal hash codes

Polynomial hash

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]

Page 29: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

29Георгий Корнеев

Solution

From sample output hash(ed) = hash(fe) = h

Construct 4 stringshash(eded) = hash(edfe) =

hash(feed) = hash(fefe) = (312 + 1)h

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

Page 30: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

30Георгий Корнеев

Insider’s Information Problem I

Page 31: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

31Георгий Корнеев

Problem statement

Unknown order M triples a

i < b

i < c

i

– Or ai > b

i > c

i

Find any arrangement Satisfying at least m/2 triples

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

Page 32: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

32Георгий Корнеев

Solution

Triples correspond to some “real” order Some x is never in the middle

Save all triples with ai = x or c

i = x

Throw x away and solve recursively

Set x to minimum or maximum of all Saved triples determine which one Choose the majority

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

Page 33: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

33Георгий Корнеев

Journey to the“The World’s Start”

Problem J

Page 34: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

34Георгий Корнеев

Problem statement

Go from one metro station to another Maximum time T Re-entering takes some time

Travel cards allowing to travel r stations Find the cheapest one

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

Page 35: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

35Георгий Корнеев

Solution

Binary search on rFind the minimum time to reach finish Dynamic programming

Ti = d

i + min

i-r'≤j<i T

j

Can be done in O(n) using queue with minimum

O(n log2n) is also accepted

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

Page 36: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

36Георгий Корнеев

Kingdom TripProblem K

Page 37: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

37Георгий Корнеев

Problem statement

«Straighten» the path Distance from the new path to old

vertices

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

Page 38: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

38Георгий Корнеев

Allowed ray position

One point

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

Page 39: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

39Георгий Корнеев

Allowed ray position

Many points

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

Page 40: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

40Георгий Корнеев

Solution

Iterate over all starting points Iterate over all ending points Intersect all angles

Ending vertex is good if lies in the angle

After that, do a DP in O(n2)

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач

Page 41: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

41Георгий Корнеев

Lucky ChancesProblem L

Page 42: Northern Subregional Contest ACM ICPC 2015−2016, NEERCneerc.ifmo.ru/trains/itmo-peking/analysis-20160422.pdf · Northern Subregional Contest ACM ICPC 2015−2016, NEERC Problem

42Георгий Корнеев

Problem statement

Given a matrix of numbersFind For each element For each direction If this element is strictly greater than all

numbers in this direction

ACM ICPC NEERC Northern Subregion 2015-2016 / Разбор задач