ACM ICPC 2013{2014 
Northeastern European Regional Contest 
Problems Review 
Roman Elizarov 
December 1, 2013
Problem A. ASCII Puzzle 
I The problem is solved by exhaustive search 
I
ll each spot in the trivial puzzle from the top-left to the 
bottom-right corner 
I try to place each piece that
ts 
I backtrack after trying all pieces for a place 
I Must check which pieces can be placed on borders 
I and place them only onto the corresponding borders 
I otherwise time-limit will be exceeded
Problem B. Bonus Cards 
I The problem is solved by dynamic programming 
I Let k be the total number of tickets already distributed, 
0  k  n 
I Let g be the number of ICPC card holders who already got 
tickets, max(0; k  b)  g  min(a; k) 
I Let Ps;k;g be the probability of Dmitry getting a ticket with a 
card that has s slots in each draw round 
I s = 2 for ICPC card, and s = 1 for ACM card 
I Use the following equation to compute the desired probability 
Ps;0;0 for each s: 
Ps;k;g = 
s + 2(a  g)Ps;k+1;g+1 + (b  k + g)Ps;k+1;g 
s + 2(a  g) + (b  k + g) 
I Here s +2(a g)+(b k +g) is the total number of slots in 
this draw round for Dmitry's card, for a  g remaining ICPC 
cards, and for b  k + g remaining ACM cards
Problem C. Cactus Automorphisms 
I Use depth-
rst-search to
nd all cycles in the given graph G 
I Build graph G0 with original vertices, and where each cycle in 
G is a new vertex, and each edge which is a part of a cycle is 
a new vertex (new vertices are in white) 
G G0 
1 
3 
2 
13 12 
5 
4 
6 
7 
8 
9 
10 11 
14 
15 
1 
3 
2 
13 12 
5 
4 
6 
7 
8 
9 
10 11 
14 
15
Problem C. Cactus Automorphisms (2) 
I Graph G0 is a tree 
I G0 has an even diameter and has the unique center 
I The center of G0 is either a vertex, a cycle or an edge in G 
I Hang the graph G0 using its center as a root and count a 
number of automorphisms on a tree in bottom-up fashion 
I k identical children of a vertex can be rearranged for k! 
combinations 
I children of a cycle in G can be rearranged for 2 combinations 
if the sequence of children on this cycle can be reversed 
I The root of tree G0 needs a special attention when it 
corresponds to a cycle in G 
I it may have rotational symmetries and/or a mirror symmetry 
I it may have a lot of children, so an ecient algorithm (like 
Knuth-Morris-Pratt) must be used to
nd those symmetries
Problem D. Dictionary 
I Let P be a set of pre
xes for a 
given set of words 
I Build a weighted directed graph 
with nodes P 
I add an edge of weight 1 from a 
pre
x p to all pre

More Related Content

PPT
adder and subtractor
PDF
Design and Implementation of 8 Bit Multiplier Using M.G.D.I. Technique
PPTX
Random number generation
PPTX
Multiplexer & de multiplexer
PPTX
Jacobi method
PPT
1’s and 2’s complements
PPTX
implementation of travelling salesman problem with complexity ppt
PPTX
Numerical integration
adder and subtractor
Design and Implementation of 8 Bit Multiplier Using M.G.D.I. Technique
Random number generation
Multiplexer & de multiplexer
Jacobi method
1’s and 2’s complements
implementation of travelling salesman problem with complexity ppt
Numerical integration

What's hot (20)

PPTX
Synchronous counters
PPTX
A brief introduction of Artificial neural network by example
PPTX
Relaxation method
PDF
Assignment on Numerical Method C Code
PDF
Binary Arithmetic
PPTX
Cryptography - Discrete Mathematics
PPTX
Ripple adder
PPTX
Job sequencing with deadline
PPTX
Pic ppt 13104022(4th_year)
PPT
Digital Electronics
PPTX
quine mc cluskey method
PPTX
Decoders
PPTX
Application of Fourier Transformation
PDF
Karnaugh map
PPT
Z transform
PPTX
Traveling salesman problem
PPTX
Parallel Adder and Subtractor
PDF
Complement
PPT
Booths Multiplication Algorithm
PDF
Numerical computation
Synchronous counters
A brief introduction of Artificial neural network by example
Relaxation method
Assignment on Numerical Method C Code
Binary Arithmetic
Cryptography - Discrete Mathematics
Ripple adder
Job sequencing with deadline
Pic ppt 13104022(4th_year)
Digital Electronics
quine mc cluskey method
Decoders
Application of Fourier Transformation
Karnaugh map
Z transform
Traveling salesman problem
Parallel Adder and Subtractor
Complement
Booths Multiplication Algorithm
Numerical computation
Ad

Viewers also liked (16)

PDF
ACM ICPC 2014 NEERC (Northeastern European Regional Contest) Problems Review
PPTX
ACM ICPC 2012 NEERC (Northeastern European Regional Contest) Problems Review
PDF
ACM ICPC 2016 NEERC (Northeastern European Regional Contest) Problems Review
PPTX
Пишем самый быстрый хеш для кэширования данных
PDF
Why GC is eating all my CPU?
PPTX
The theory of concurrent programming for a seasoned programmer
PDF
Wait for your fortune without Blocking!
PDF
Многопоточные Алгоритмы (для BitByte 2014)
PDF
Многопоточное Программирование - Теория и Практика
PDF
Теоретический минимум для понимания Java Memory Model (для JPoint 2014)
PDF
ACM ICPC 2015 NEERC (Northeastern European Regional Contest) Problems Review
PDF
MIPT Fall Programming Training
PDF
Михаил Елизаров «Man in the middle в действии!»
PPTX
Presentation1
PPTX
Unit testing en Windows 10
PDF
Session 4
ACM ICPC 2014 NEERC (Northeastern European Regional Contest) Problems Review
ACM ICPC 2012 NEERC (Northeastern European Regional Contest) Problems Review
ACM ICPC 2016 NEERC (Northeastern European Regional Contest) Problems Review
Пишем самый быстрый хеш для кэширования данных
Why GC is eating all my CPU?
The theory of concurrent programming for a seasoned programmer
Wait for your fortune without Blocking!
Многопоточные Алгоритмы (для BitByte 2014)
Многопоточное Программирование - Теория и Практика
Теоретический минимум для понимания Java Memory Model (для JPoint 2014)
ACM ICPC 2015 NEERC (Northeastern European Regional Contest) Problems Review
MIPT Fall Programming Training
Михаил Елизаров «Man in the middle в действии!»
Presentation1
Unit testing en Windows 10
Session 4
Ad

Similar to ACM ICPC 2013 NEERC (Northeastern European Regional Contest) Problems Review (20)

PPTX
Stochastic Process Assignment Help
PPTX
Stochastic Process Exam Help
PDF
Answers withexplanations
PPTX
Data structure and algorithm
PPTX
Backtracking-N Queens Problem-Graph Coloring-Hamiltonian cycle
PDF
Mit6 006 f11_quiz1
PPTX
Computer Science Assignment Help
PPTX
Backtracking
PPTX
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
PPTX
unit-4-dynamic programming
PDF
Classical programming interview questions
PPTX
Algorithms Design Exam Help
PPT
Matrices and row operations 12123 and applications of matrices
PDF
Cat paper-2005 - MBA Classes in Mumbai
PDF
Results of Round 1
PPTX
Network Design Assignment Help
PDF
Ee693 sept2014quiz1
PDF
Analysis and design of algorithms part 4
Stochastic Process Assignment Help
Stochastic Process Exam Help
Answers withexplanations
Data structure and algorithm
Backtracking-N Queens Problem-Graph Coloring-Hamiltonian cycle
Mit6 006 f11_quiz1
Computer Science Assignment Help
Backtracking
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
unit-4-dynamic programming
Classical programming interview questions
Algorithms Design Exam Help
Matrices and row operations 12123 and applications of matrices
Cat paper-2005 - MBA Classes in Mumbai
Results of Round 1
Network Design Assignment Help
Ee693 sept2014quiz1
Analysis and design of algorithms part 4

More from Roman Elizarov (12)

PDF
Kotlin Coroutines in Practice @ KotlinConf 2018
PDF
Deep dive into Coroutines on JVM @ KotlinConf 2017
PDF
Introduction to Coroutines @ KotlinConf 2017
PDF
Fresh Async with Kotlin @ QConSF 2017
PDF
Scale Up with Lock-Free Algorithms @ JavaOne
PDF
Kotlin Coroutines Reloaded
PDF
Lock-free algorithms for Kotlin Coroutines
PDF
Introduction to Kotlin coroutines
PPTX
Non blocking programming and waiting
PPTX
DIY Java Profiling
PPTX
Java Serialization Facts and Fallacies
PPTX
Millions quotes per second in pure java
Kotlin Coroutines in Practice @ KotlinConf 2018
Deep dive into Coroutines on JVM @ KotlinConf 2017
Introduction to Coroutines @ KotlinConf 2017
Fresh Async with Kotlin @ QConSF 2017
Scale Up with Lock-Free Algorithms @ JavaOne
Kotlin Coroutines Reloaded
Lock-free algorithms for Kotlin Coroutines
Introduction to Kotlin coroutines
Non blocking programming and waiting
DIY Java Profiling
Java Serialization Facts and Fallacies
Millions quotes per second in pure java

Recently uploaded (20)

PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
Comparative analysis of machine learning models for fake news detection in so...
PPT
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
PDF
STKI Israel Market Study 2025 version august
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
1 - Historical Antecedents, Social Consideration.pdf
PPTX
Modernising the Digital Integration Hub
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PPT
Module 1.ppt Iot fundamentals and Architecture
PPTX
The various Industrial Revolutions .pptx
PDF
Consumable AI The What, Why & How for Small Teams.pdf
PDF
“A New Era of 3D Sensing: Transforming Industries and Creating Opportunities,...
PDF
CloudStack 4.21: First Look Webinar slides
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PDF
Flame analysis and combustion estimation using large language and vision assi...
PDF
The influence of sentiment analysis in enhancing early warning system model f...
PPTX
Configure Apache Mutual Authentication
A contest of sentiment analysis: k-nearest neighbor versus neural network
Comparative analysis of machine learning models for fake news detection in so...
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
STKI Israel Market Study 2025 version august
Convolutional neural network based encoder-decoder for efficient real-time ob...
Final SEM Unit 1 for mit wpu at pune .pptx
sustainability-14-14877-v2.pddhzftheheeeee
1 - Historical Antecedents, Social Consideration.pdf
Modernising the Digital Integration Hub
NewMind AI Weekly Chronicles – August ’25 Week III
Module 1.ppt Iot fundamentals and Architecture
The various Industrial Revolutions .pptx
Consumable AI The What, Why & How for Small Teams.pdf
“A New Era of 3D Sensing: Transforming Industries and Creating Opportunities,...
CloudStack 4.21: First Look Webinar slides
OpenACC and Open Hackathons Monthly Highlights July 2025
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
Flame analysis and combustion estimation using large language and vision assi...
The influence of sentiment analysis in enhancing early warning system model f...
Configure Apache Mutual Authentication

ACM ICPC 2013 NEERC (Northeastern European Regional Contest) Problems Review

  • 1. ACM ICPC 2013{2014 Northeastern European Regional Contest Problems Review Roman Elizarov December 1, 2013
  • 2. Problem A. ASCII Puzzle I The problem is solved by exhaustive search I
  • 3. ll each spot in the trivial puzzle from the top-left to the bottom-right corner I try to place each piece that
  • 4. ts I backtrack after trying all pieces for a place I Must check which pieces can be placed on borders I and place them only onto the corresponding borders I otherwise time-limit will be exceeded
  • 5. Problem B. Bonus Cards I The problem is solved by dynamic programming I Let k be the total number of tickets already distributed, 0 k n I Let g be the number of ICPC card holders who already got tickets, max(0; k b) g min(a; k) I Let Ps;k;g be the probability of Dmitry getting a ticket with a card that has s slots in each draw round I s = 2 for ICPC card, and s = 1 for ACM card I Use the following equation to compute the desired probability Ps;0;0 for each s: Ps;k;g = s + 2(a g)Ps;k+1;g+1 + (b k + g)Ps;k+1;g s + 2(a g) + (b k + g) I Here s +2(a g)+(b k +g) is the total number of slots in this draw round for Dmitry's card, for a g remaining ICPC cards, and for b k + g remaining ACM cards
  • 6. Problem C. Cactus Automorphisms I Use depth-
  • 8. nd all cycles in the given graph G I Build graph G0 with original vertices, and where each cycle in G is a new vertex, and each edge which is a part of a cycle is a new vertex (new vertices are in white) G G0 1 3 2 13 12 5 4 6 7 8 9 10 11 14 15 1 3 2 13 12 5 4 6 7 8 9 10 11 14 15
  • 9. Problem C. Cactus Automorphisms (2) I Graph G0 is a tree I G0 has an even diameter and has the unique center I The center of G0 is either a vertex, a cycle or an edge in G I Hang the graph G0 using its center as a root and count a number of automorphisms on a tree in bottom-up fashion I k identical children of a vertex can be rearranged for k! combinations I children of a cycle in G can be rearranged for 2 combinations if the sequence of children on this cycle can be reversed I The root of tree G0 needs a special attention when it corresponds to a cycle in G I it may have rotational symmetries and/or a mirror symmetry I it may have a lot of children, so an ecient algorithm (like Knuth-Morris-Pratt) must be used to
  • 11. Problem D. Dictionary I Let P be a set of pre
  • 12. xes for a given set of words I Build a weighted directed graph with nodes P I add an edge of weight 1 from a pre
  • 13. x p to all pre
  • 14. xes pc (for all characters c) I add an edge of weight 0 from a pre
  • 15. x p to a pre
  • 16. x q when q is a sux of p I 1-edges of this graph constitute a trie for a given set of words I but it is not an optimal solution I Minimum spanning tree in this weighted directed graph corresponds to the problem answer I use Chu{Liu/Edmonds algorithm a ab abc abcd c cd cde cdef cdefa 1 1 1 1 1 1 1 1 1 0 0 0 An example for words abcd and cdefa
  • 17. Problem E. Easy Geometry I Let (x; yt (x)) be the top point of the polygon at a given coordinate x and (x; yb(x)) be the bottom point of the polygon I these functions can be computed by a binary search I Let sw(x) be the max generalized square of a rectangle of the
  • 18. xed width w with the left edge at x sw(x) = w (minfyt (x); yt (x + w)g maxfyb(x); yb(x + w)g) I Let s(w) = max x sw(x) be the max square of a rectangle of the
  • 19. xed width w I sw(x) is convex, so s(w) can be found by a ternary search I Let s = max w s(w) be the max square of a rectangle | the answer to the problem I s(w) is convex, so s can be found by a ternary search
  • 20. Problem F. Fraud Busters I This is the simplest problem in the contest I It is solved by going over a list of codes and checking each one against a code that was recognized by the scanner
  • 21. Problem G. Green Energy I Compute coordinate z for each point | coordinate of the projection onto a line perpendicular to the sun I Place the largest tower at a point with the max z coordinate I Place other towers in any order on points with decreasing z coordinates so that they do not obscure each other I If min z coordinate is reached and some towers are left, then place them anywhere tower shadows y z x
  • 22. Problem H. Hack Protection I Compute cumulative xor values xi = ji j=1aj ( for xor ) I this way, xor for any subarray [i ; j) is equal to xi xj I Create a map M which keeps for each value of xi the list of indices i with this value of xi I Compute bi ;j | the
  • 23. rst index at or after i where j-th bit of ai becomes zero I Loop for all i0 from 1 to n I using bi ;j one can quickly
  • 24. nd consecutive ranges [ik ; ik+1) of indices where and of subarrays [i0; t) (ik t ik+1) has the same value b I note, that there are at most 32 such ranges for each i0 I use a map M to
  • 25. nd a list of all indices with value of xi0 b I use a binary search on this list (twice) to
  • 26. nd how many indices from this list are in the range [ik ; ik+1) I that is the number of matching values for all subarrays [i0; t)
  • 27. Problem I. Interactive Interception I The state space of a point can be kept in array of min and max possible position for each speed I There are at most 105 possible speeds, so this array can be scanned in a loop on each turn I Find R that splits a state space roughly in half using binary search I Use check 0 R query I Update the state space after reading the answer I Repeat until the point's position can be unambiguously determined
  • 28. Problem J. Join the Conversation I The problem is solved by dynamic programming I For each author maintain a map M from an author to a pair of an index and a length of the maximal conversation with the last message from this author I Process messages in order,
  • 29. nd all mentions in a message, and update map M for the author of this message I if you
  • 30. nd mentions by looking at `@' then do not forget to check for a space before it I the easiest way to
  • 31. nd mentions is to split the message by spaces
  • 32. Problem K. Kabaleo Lite I n = 1 is a special case I the answer depends on the chip of the last player I For n 1 analyze the best strategy for other players: I they place all chips onto the chips of your hidden color h I they will obscure as many as possible of your chips on the board, and will place as many as possible of other colors onto the board I Compute the maximal possible number of chips of each color on the board according to the above I Check each possible move of yours to
  • 33. nd the answer I you win only if the number of your color h on the board exceeds any other number I you need to maintain the number of only two best other color to
  • 34. gure if the above is true