SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

8.unit-1-fds-2022-23.pptx
8.unit-1-fds-2022-23.pptx8.unit-1-fds-2022-23.pptx
8.unit-1-fds-2022-23.pptx
 
Introduction For seq2seq(sequence to sequence) and RNN
Introduction For seq2seq(sequence to sequence) and RNNIntroduction For seq2seq(sequence to sequence) and RNN
Introduction For seq2seq(sequence to sequence) and RNN
 
Divide and Conquer
Divide and ConquerDivide and Conquer
Divide and Conquer
 
Approximation Algorithms
Approximation AlgorithmsApproximation Algorithms
Approximation Algorithms
 
Connectionist Temporal Classification
Connectionist Temporal ClassificationConnectionist Temporal Classification
Connectionist Temporal Classification
 
Graph coloring using backtracking
Graph coloring using backtrackingGraph coloring using backtracking
Graph coloring using backtracking
 
N queen problem
N queen problemN queen problem
N queen problem
 
Time complexity.ppt
Time complexity.pptTime complexity.ppt
Time complexity.ppt
 
PAC Bayesian for Deep Learning
PAC Bayesian for Deep LearningPAC Bayesian for Deep Learning
PAC Bayesian for Deep Learning
 
Algorithm analysis and design
Algorithm analysis and designAlgorithm analysis and design
Algorithm analysis and design
 
Class ppt intro to r
Class ppt intro to rClass ppt intro to r
Class ppt intro to r
 
convex hull
convex hullconvex hull
convex hull
 
The n Queen Problem
The n Queen ProblemThe n Queen Problem
The n Queen Problem
 
CNN Attention Networks
CNN Attention NetworksCNN Attention Networks
CNN Attention Networks
 
Time andspacecomplexity
Time andspacecomplexityTime andspacecomplexity
Time andspacecomplexity
 
Svm and kernel machines
Svm and kernel machinesSvm and kernel machines
Svm and kernel machines
 
CSC446: Pattern Recognition (LN4)
CSC446: Pattern Recognition (LN4)CSC446: Pattern Recognition (LN4)
CSC446: Pattern Recognition (LN4)
 
Improving Neural Abstractive Text Summarization with Prior Knowledge
Improving Neural Abstractive Text Summarization with Prior KnowledgeImproving Neural Abstractive Text Summarization with Prior Knowledge
Improving Neural Abstractive Text Summarization with Prior Knowledge
 
Exploratory data analysis v1.0
Exploratory data analysis v1.0Exploratory data analysis v1.0
Exploratory data analysis v1.0
 
Tower Of Hanoi -A MatheMatical PuZzle
Tower Of Hanoi -A MatheMatical PuZzleTower Of Hanoi -A MatheMatical PuZzle
Tower Of Hanoi -A MatheMatical PuZzle
 

Destacado

ACM ICPC 2012 NEERC (Northeastern European Regional Contest) Problems Review
ACM ICPC 2012 NEERC (Northeastern European Regional Contest) Problems ReviewACM ICPC 2012 NEERC (Northeastern European Regional Contest) Problems Review
ACM ICPC 2012 NEERC (Northeastern European Regional Contest) Problems Review
Roman Elizarov
 
The theory of concurrent programming for a seasoned programmer
The theory of concurrent programming for a seasoned programmerThe theory of concurrent programming for a seasoned programmer
The theory of concurrent programming for a seasoned programmer
Roman Elizarov
 
Многопоточные Алгоритмы (для BitByte 2014)
Многопоточные Алгоритмы (для BitByte 2014)Многопоточные Алгоритмы (для BitByte 2014)
Многопоточные Алгоритмы (для BitByte 2014)
Roman Elizarov
 
Многопоточное Программирование - Теория и Практика
Многопоточное Программирование - Теория и ПрактикаМногопоточное Программирование - Теория и Практика
Многопоточное Программирование - Теория и Практика
Roman Elizarov
 
Теоретический минимум для понимания Java Memory Model (для JPoint 2014)
Теоретический минимум для понимания Java Memory Model (для JPoint 2014)Теоретический минимум для понимания Java Memory Model (для JPoint 2014)
Теоретический минимум для понимания Java Memory Model (для JPoint 2014)
Roman Elizarov
 

Destacado (16)

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

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

Matrices and row operations 12123 and applications of matrices
Matrices and row operations 12123 and applications of matricesMatrices and row operations 12123 and applications of matrices
Matrices and row operations 12123 and applications of matrices
mayaGER
 

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

Stochastic Process Assignment Help
Stochastic Process Assignment HelpStochastic Process Assignment Help
Stochastic Process Assignment Help
 
Stochastic Process Exam Help
Stochastic Process Exam HelpStochastic Process Exam Help
Stochastic Process Exam Help
 
Answers withexplanations
Answers withexplanationsAnswers withexplanations
Answers withexplanations
 
Data structure and algorithm
Data structure and algorithmData structure and algorithm
Data structure and algorithm
 
Backtracking-N Queens Problem-Graph Coloring-Hamiltonian cycle
Backtracking-N Queens Problem-Graph Coloring-Hamiltonian cycleBacktracking-N Queens Problem-Graph Coloring-Hamiltonian cycle
Backtracking-N Queens Problem-Graph Coloring-Hamiltonian cycle
 
Mit6 006 f11_quiz1
Mit6 006 f11_quiz1Mit6 006 f11_quiz1
Mit6 006 f11_quiz1
 
Computer Science Assignment Help
Computer Science Assignment Help Computer Science Assignment Help
Computer Science Assignment Help
 
Unit 3
Unit 3Unit 3
Unit 3
 
Unit 3
Unit 3Unit 3
Unit 3
 
Backtracking
BacktrackingBacktracking
Backtracking
 
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWERUndecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
 
unit-4-dynamic programming
unit-4-dynamic programmingunit-4-dynamic programming
unit-4-dynamic programming
 
Classical programming interview questions
Classical programming interview questionsClassical programming interview questions
Classical programming interview questions
 
Algorithms Design Exam Help
Algorithms Design Exam HelpAlgorithms Design Exam Help
Algorithms Design Exam Help
 
Matrices and row operations 12123 and applications of matrices
Matrices and row operations 12123 and applications of matricesMatrices and row operations 12123 and applications of matrices
Matrices and row operations 12123 and applications of matrices
 
Cat paper-2005 - MBA Classes in Mumbai
Cat paper-2005 - MBA Classes in MumbaiCat paper-2005 - MBA Classes in Mumbai
Cat paper-2005 - MBA Classes in Mumbai
 
Results of Round 1
Results of Round 1Results of Round 1
Results of Round 1
 
Network Design Assignment Help
Network Design Assignment HelpNetwork Design Assignment Help
Network Design Assignment Help
 
Ee693 sept2014quiz1
Ee693 sept2014quiz1Ee693 sept2014quiz1
Ee693 sept2014quiz1
 
Analysis and design of algorithms part 4
Analysis and design of algorithms part 4Analysis and design of algorithms part 4
Analysis and design of algorithms part 4
 

Más de Roman Elizarov

Java Serialization Facts and Fallacies
Java Serialization Facts and FallaciesJava Serialization Facts and Fallacies
Java Serialization Facts and Fallacies
Roman Elizarov
 
Millions quotes per second in pure java
Millions quotes per second in pure javaMillions quotes per second in pure java
Millions quotes per second in pure java
Roman Elizarov
 

Más de Roman Elizarov (12)

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

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

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