Programming Camp Syllabus
Programming Camp Syllabus
eometry/Euclidean G
eometryordinate G
eometry/ [3Dvariants of
everything].
1. Computational G
eometry.
GrahamScana
lgorithm forC
onvex H
ull O
(n *
log(n)).
a. Online c
onstruction of3
D convex hull i
nO
(n^2).
b. Bentley Ottmann a
lgorithm t
olistallintersection p
oints o
fn
linesegments i
nO
((n+
I)
*
l
ogn).
Suggested Reading
1. http://softsurfer.com/Archive/algorithm_0108/algorithm_0108.htm
c. Rotating Calipers Technique.
Suggested Reading http://cgm.cs.mcgill.ca/~orm/rotcal.html
Problems
Refer t
he a
rticle f
oralistofp
roblems w
hich c
anbe
s
olved u
sing
Rotating C
alipers t
echnique.
d. LineS
weep/Plane S
weep a
lgorithms
Area/Perimeter o
fU
nion ofR
ectangles.
Closest pair o
fpoints.
Suggested Reading
1. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=lineSweep
Problems
Follow t
he tutorial forlistofp
roblems.
e. Areao
fUnion o
fC
ircles.
f. Delaunay Triangulation o
f n
points i
nO(n*
logn).
g. Voronoi Diagrams o
fnpoints in
O(n*logn) u
sing Fortunes a
lgorithm.
h. Pointina
polygon p
roblem
O(n) solution without preprocessing.
O(logn) algorithm with O
(n *
logn) preprocessing forconvex p
olygons.
i. Problems onc
omputational g
eometry
BSHEEP ,BULK ,SEGVIS ,CONDUIT ,RUNAWAY ,D
IRVS ,
RAIN1 ,SHAMAN ,T
CUTTER ,LITEPIPE ,
RHOMBS ,FSHEEP ,FLBRKLIN ,CERC07P ,BAC
,ALTARS ,CERC07C ,NECKLACE ,CH3D,
RECTANGL ,
POLYSSQ ,FOREST2 ,KPPOLY ,RAIN2 ,SEGMENTS ,ARCHPLG ,BALLOON ,CIRCLES ,C
OMPASS ,
EOWAMRT ,ICERINK onS
POJ.
CultureGrowth ,PolygonCover o
nTopcoder.
j. Suggested Reading
Computational Geometry: Algorithms anda
pplications. MarkD
eB
urg.
To
b
eD
onetill6thm
ay.
String A
lgorithm .
1. KnuthMorrisPrat talgorithm .
a. Problems NHAY, PERIOD o
nS
POJ.
b. Suggested R
eading
i. Cormen c
hapter o
nStrings.
ii. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=stringSear
ching
2. Aho C
orasick a
lgorithm.
2. Problems
WPUZZLES onS
POJ.
a. Suffix A
rrays
O(n^2 *
logn) Naive method o
fsuffix a
rray c
onstruction
O(n *
logn^2) method o
fsuffix array c
onstruction
O(n *
logn) method o
fsuffix a
rray construction.
O(n) methodof
suffix array c
onstruction
O(n) LCAp
reprocess onS
uffix A
rrays t
osolve a
variety of
stringproblems.
b. Suffix T
rees
O(n) construction o
f S
uffix t
rees u
sing Ukkonons a
lgorithm.
O(n) construction o
f S
uffix T
rees i
fp
rovided w
ith S
uffix A
rrays u
sing
Farachsalgorithm.
c. Suffix A
utomata
O(n) Suffix Automaton construction.
d. Dictionary OfB
asic Factors
O(n *
logn) method o
fDBFconstruction u
sing R
adix Sort.
e. Manachers algorithm t
ofind l
ength ofp
alindromic s
ubstring o
fa
string c
entered a
ta
position foreachposition int
hestring. R
untime >O
(n).
f. Searching andp
reprocessing R
egular Expressions c
onsisting of
?,
*.
g. Multidimensional pattern m
atching.
h. Problems onS
trings [can be
solved w
ith av
ariety oft
echniques]
DISUBSTR ,PLD,MSTRING ,REPEATS ,JEWELS ,ARCHIVER ,PROPKEY ,LITELANG ,E
MOTICON ,
WORDS ,AMCODES ,UCODES ,PT07H ,MINSEQ ,TOPALIN ,BWHEELER ,BEADS ,S
ARRAY ,L
CS,L
CS2 ,
SUBST1 ,PHRASES ,PRETILE onS
POJ
http://www.algorithmist.com/index.php/Category:String_algorithms
Till
1
1m
ay.
3. BasicG
raphs [beginner] .
a. Representation of
graphs as
adjacency list, a
djacency matrix, incidence m
atrix a
nd
edge
lista
nd u
ses o
fd
ifferent representations ind
ifferent s
cenarios.
b. Breadth First S
earch.
problems
1. PPATH ,ONEZERO ,
WATER o
nS
POJ
c. Depth
FirstSearch.
d. StronglyC
onnected C
omponents.
problems
1. TOUR a
ndBOTTOM o
nS
POJ.
e. Biconnected Components, Finding a
rticulation points
a
nd
bridges].
problems
1. RELINETS ,PT07A o
nS
POJ.
f. Dijkstraa
lgorithm
problems
1. SHPATH o
nS
POJ.
g. Floyd
Warshall a
lgorithm
problems
1. COURIER o
nSPOJ.
h. MinimumS
panning T
ree
problems
1. BLINNET o
nSPOJ.
i. Floodfill a
lgorithm
j. Topological sort
k. BellmanFord algorithm.
l. Euler
Tour/Path.
problems
WORDS1 on
SPOJ.
m. Suggestedreading form
ost o
f
thet
opicsi
n
G
rapha
lgorithms
http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=graphsDataStrucs1 .
Also r
efer t
ot
hetutorial f
or p
roblemsc
oncerning
these
techniques.
Cormen chapter 22
to
24.
Till
13
may.(before coming iitkits
hould b
ed
one:))
4. Flown
etworks/ m
atching e
tcetc. [
Intermediate/Advanced].
a. Maximumflow u
sing F
ordFulkerson Method.
Suggested Reading
1. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=maxFlow
problems
TAXI,POTHOLE ,IM,QUEST4 ,
MUDDY ,E
N,C
ABLETV ,S
TEAD ,
NETADMIN
,C
OCONUTS
,
OPTM o
nS
POJ.
b. Maximumflow u
sing D
inics A
lgorithm.
Problems
PROFIT ons
poj.
c. MinimumCost M
aximum Flow.
Successive Shortest path a
lgorithm.
Cycle Cancelling a
lgorithm.
Suggested Reading
1. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=minimumCostFlow1
d. Maximumweighted B
ipartite M
atching (
Kuhn M
unkras a
lgorithm/Hungarian M
ethod)
problems
GREED ,
SCITIES ,TOURSon
S
POJ |
http://www.topcoder.com/stat?c=problem_statement&pm=8143
e. StoerW
agner m
incut algorithm.
f. Hopcroft Karpbipartite matching a
lgorithm.
1. problems ANGELS onS
POJ.
g. Maximummatching i
ng
eneral graph (blossom shrinking)
h. GomoryHu T
rees.aa
i) P
roblems
MCQUERY on
Spoj.
i. ChinesePostman Problem.
problems
http://acm.uva.es/archive/nuevoportal/data/problem.php?p=4039
Suggested Reading http://eie507.eie.polyu.edu.hk/sssubmission/B7a/
j. Suggested R
eading fort
he f
ull c
ategory
>
Network flowAlgorithms andA
pplications b
yA
huja
Cormen b
ook c
hapter 25.
Till
2
0t
hm
ay.
5. Dynamic P
rogramming.
a. Suggested R
eading Dynamic Programming(DP) a
s
at
abulation method
Cormen c
hapter on
DP
b. Standard problems (
you s
hould really f
eel c
omfortable w
itht
hese t
ypes)
http://www.topcoder.com/stat?c=problem_statement&pm=8570&rd=12012&rm=269199&cr=7581406
http://www.topcoder.com/stat?c=problem_statement&pm=10765&rd=14183
c. States
pace r
eduction
http://www.topcoder.com/stat?c=problem_statement&pm=10902
http://www.topcoder.com/stat?c=problem_statement&pm=3001
http://www.topcoder.com/stat?c=problem_statement&pm=8605&rd=12012&rm=269199&cr=7581406
d. Solvinginther
everse
e asier characterizations l
ooking f
romt
he e
nd
http://www.spoj.pl/problems/MUSKET
http://www.topcoder.com/stat?c=problem_statement&pm=5908
e. Counting/optimizing arrangements s
atisfying s
omes
pecified properties
http://www.topcoder.com/stat?c=problem_statement&pm=8306
http://www.topcoder.com/stat?c=problem_statement&pm=784
9Strategies andexpected v
alues
http://www.topcoder.com/stat?c=problem_statement&pm=10765&rd=14183
http://www.topcoder.com/stat?c=problem_statement&pm=10806
http://www.topcoder.com/stat?c=problem_statement&pm=7828
http://www.topcoder.com/stat?c=problem_statement&pm=7316
f. DP
o
n
probability s
paces
http://www.topcoder.com/stat?c=problem_statement&pm=7422
http://www.topcoder.com/stat?c=problem_statement&pm=2959
http://www.topcoder.com/stat?c=problem_statement&pm=10335
g. DP
o
n
trees
http://www.topcoder.com/stat?c=problem_statement&pm=10800
http://www.topcoder.com/stat?c=problem_statement&pm=10737
http://www.topcoder.com/stat?c=problem_solution&rm=266678&rd=10958&pm=8266&cr=7581406
h. DP
w
ithdatastructures
http://www.spoj.pl/problems/INCSEQ/
http://www.spoj.pl/problems/INCDSEQ/
http://www.spoj.pl/problems/LIS2/
http://www.topcoder.com/stat?c=problem_statement&pm=1986
i. Symmetric c
haracterization o
f D
P
state
http://www.topcoder.com/stat?c=problem_statement&pm=8610
j. A
g
oodc
ollection o
fproblems
http://codeforces.com/blog/entry/325
http://problemclassifier.appspot.com/index.jsp?search=dp&usr=
T
ill
2
8
t
hm
ay.
6. Greedy.
a. SuggestedReading
Chapter o
nG
reedy a
lgorithms i
nC
ormen.
http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=greedyAlg
b. problems
refertot
het
opcoder tutorial.
7. Number
T
heory.
a. Modulusa
rithmetic basicp
ostulates [
Including m
odular l
inearequations,Continued
fractiona
ndP
ell's e
quation]
Suggested R
eading
1. Chapter 1fromNumber
Theory forC
omputing b
y
S
YY
an[
Recommended
]
2. 31.1, 3
1.3 a
nd31.4
f
rom C
ormen
3. www.topcoder.com/tc?module=Static&d1=tutorials&d2=primeNumbers
Problems
1. http://projecteuler.net/index.php?section=problems&id=64
2. http://projecteuler.net/index.php?section=problems&id=65
3. http://projecteuler.net/index.php?section=problems&id=66
4. http://www.topcoder.com/stat?c=problem_statement&pm=6408&rd=9826
5. http://www.topcoder.com/stat?c=problem_statement&pm=2342
b. Fermat'st
heorem, E
uler T
otient t
heorem (
totientfunction,order,
p
rimitiver
oots
)
Suggested R
eading
1. 1.6,2.2f
rom N
umberT
heory b
yS
YY
an
2. 31.6,3
1.7 fromC
ormen
Problems
1. http://projecteuler.net/index.php?section=problems&id=70
2. http://www.spoj.pl/problems/NDIVPHI/
c. Chineseremaindertheorem
Suggested R
eading
1. 31.5
fromC
ormen
2. 1.6
from
Number T
heory b
yS
YY
an
Problems
1. ProjectE
uler 2
71
2. http://www.topcoder.com/stat?c=problem_statement&pm=10551&rd=13903
d. Primality t
ests
Deterministic O
(sqrt(n) )a
pproach
Probabilistic p
rimality tests
Fermatp
rimality
t
est,
MillerRabin
P
rimality
t
est
1. Suggested R
eading
a. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=primalityTesting
b. Cormen 3
1.8
c. 2.2fromN
umber T
heory by
S
YY
an
2. Problems
a. PON, P
RIC,SOLSTRAS on
SPOJ
b. http://www.topcoder.com/stat?c=problem_statement&pm=4515
e. Primeg
eneration t
echniques
Sieve o
fE
rastothenes
Suggested P
roblems
PRIME1 o
nS
POJ
f. GCD
usinge
uclidean m
ethod
Suggested R
eading
1. 31.2 Cormen
Problems
1. GCD o
nS
POJ
2. http://uva.onlinejudge.org/external/114/11424.html
g. Logarithmic E
xponentiation
Suggested Reading
1. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=primalityTesting
h. IntegerFactorization
Naive O
(sqrt(n)) m
ethod
Pollard Rhof
actorization
Suggested Reading
1. 2.3 f
rom N
umber Theory SY
Yan
2. 31.9 Cormen
Problems
1. http://www.topcoder.com/stat?c=problem_statement&pm=2986&rd=5862
2. http://www.spoj.pl/problems/DIVSUM2/
3. http://www.topcoder.com/stat?c=problem_statement&pm=4481&rd=6538
i. Stirling n
umbers
j. Wilsont
heorem
nCr %
pinO
(p) p
reprocess andO(logn)
query
k. LucasT
heorem
l. Suggested Reading forN
umber T
heory
Number t
heory f
orcomputing b
yS
ongYYan[Simple
b
ookd
escribing c
onceptsi
n
details ]
Concepts a
realsosuperficially covered i
nChapter3
1o
f
I
ntroduction t
o
A
lgorithms
by
Cormen
http://www.codechef.com/wiki/tutorialnumbertheory
http://www.algorithmist.com/index.php/Category:Number_Theory
m. Problems o
nN
umber T
heory
http://www.algorithmist.com/index.php/Category:Number_Theory
http://problemclassifier.appspot.com/index.jsp?search=number&usr=
T
ill
6
th
june.
8. Math
(
Probability, C
ounting, G
ame T
heory, GroupTheory, Generatingf
unctions, P
ermutation
Cycles,
LinearAlgebra)
a. Probability.
Syllabus
Basic p
robability andConditional p
robability
1. Suggested problems
a. http://www.spoj.pl/problems/CT16E/
b. http://www.spoj.pl/problems/CHICAGO/
Random v
ariables, probability generating functions
Mathematical expectation +Linearity o
fe
xpectation
1. Suggested problems
a. http://www.spoj.pl/problems/FAVDICE/
b. http://www.topcoder.com/stat?c=problem_statement&pm=10744
Special discrete a
nd c
ontinuous probability d
istributions
1. Bernoulli, Binomial, Poisson, n
ormal distribution
2. Suggested Problem
a. http://acm.sgu.ru/problem.php?contest=0&problem=498
Suggested Readings
1. Cormen a
ppendix C(very b
asic)
2. Topcoder probabilty t
utorial
http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=probabilities
3. http://en.wikipedia.org/wiki/Random_variable
4. http://en.wikipedia.org/wiki/Expected_value
5. William Feller, Ani
ntroduction t
op
robability t
heorya
nd
its
applications
b. Counting
Syllabus
Basic p
rinciples
Pigeon h
ole p
rinciple, a
ddition, m
ultiplication rules
1. Suggested problems
a. http://acm.timus.ru/problem.aspx?space=1&num=1690
b. http://www.topcoder.com/stat?c=problem_statement&pm=10805
3. Suggested readings
a. http://en.wikipedia.org/wiki/Combinatorial_principles
b. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=combinatorics
c. http://www.maa.org/editorial/knot/pigeonhole.html
Inclusionexclusion
1. Suggested readings
a. http://en.wikipedia.org/wiki/Inclusionexclusion_principle
2. Suggested problems
a. http://www.topcoder.com/stat?c=problem_statement&pm=4463&rd=6536
b. http://www.topcoder.com/stat?c=problem_statement&pm=10238
Special numbers
1. Suggested r
eading
Stirling, e
urlerian, harmonic,b
ernoulli,f
ibonnacci
numbers
a. http://en.wikipedia.org/wiki/Stirling_number
b. http://en.wikipedia.org/wiki/Eulerian_numbers
c. http://en.wikipedia.org/wiki/Harmonic_series_(mathematics)
d. http://en.wikipedia.org/wiki/Bernoulli_number
e. http://en.wikipedia.org/wiki/Fibonnaci_numbers
f. Concrete m
athematics byK
nuth
2. Suggested p
roblems
a. http://www.topcoder.com/stat?c=problem_statement&pm=1643
b. http://www.topcoder.com/stat?c=problem_statement&pm=8202&rd=11125
c. http://www.topcoder.com/stat?c=problem_statement&pm=8725
d. http://www.topcoder.com/stat?c=problem_statement&pm=2292&rd=10709
Advanced c
ounting t
echniques
Polya c
ounting, b
urnsideslemma
1. Suggested r
eading
a. http://en.wikipedia.org/wiki/Burnside's_lemma
b. http://petrmitrichev.blogspot.com/2008/11/burnsideslemma.html
2. Suggested P
roblems
a. http://www.topcoder.com/stat?c=problem_statement&pm=9975
b. http://www.spoj.pl/problems/TRANSP/
c
.G
ame
t
heory
Syllabus
Basic p
rinciples a
ndN
im g
ame
1. Spraguegrundytheorem, grundy n
umbers
2. Suggested r
eadings
a. http://en.wikipedia.org/wiki/Sprague%E2%80%93Grundy_theorem
b. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=algorithmGames
c. http://www.ams.org/samplings/featurecolumn/fcarcgames1
d. http://www.codechef.com/wiki/tutorialgametheory
3. Suggested p
roblems
a. http://www.topcoder.com/stat?c=problem_statement&pm=3491&rd=6517
b. http://www.topcoder.com/stat?c=problem_statement&pm=3491&rd=6517
Hackenbush
1. Suggested r
eadings
a. http://en.wikipedia.org/wiki/Hackenbush
b. http://www.ams.org/samplings/featurecolumn/fcarcpartizan1
2. Suggested p
roblems
a. http://www.cs.caltech.edu/ipsc/problems/g.html
b. http://www.spoj.pl/problems/PT07A/
d.
L
inear
A
lgebra
Syllabus
Matrix O
perations
1. Additionands
ubtraction o
f m
atrices
a. Suggested Reading
i. Cormen 2
8.1
2. Multiplication (Strassen's a
lgorithm )
,
l
ogarithmic exponentiation
a. Suggested reading
i. Cormen 2
8.2
ii. Linear Algebra b
yK
enneth H
offman S
ection1
.6
b. Problems
i. http://uva.onlinejudge.org/external/111/11149.html
3. Matrixt
ransformations [
Transpose, R
otation of
M
atrix,R
epresentingL
inear
transformations u
sing m
atrix ]
a. Suggested Reading
i. Linear A
lgebra B
yKenneth H
offman S
ection3
.1,3.2,3.4,3.7
b. Problems
i. http://www.topcoder.com/stat?c=problem_statement&pm=6877
ii. JPIX o
nS
poj
4. Determinant ,Ranka
ndInverse of
M
atrix[G
ausseanE
limination,
G
aussJ
ordan
Elimination]
a. Suggested Reading
i. 28.4 Cormen
ii. Linear Algebra b
yK
enneth C
hapter 1
b. Problems
i. http://www.topcoder.com/stat?c=problem_statement&pm=8174
ii. http://www.topcoder.com/stat?c=problem_statement&pm=6407&rd=9986
iii. http://www.topcoder.com/stat?c=problem_statement&pm=8587
iv. HIGH on
Spoj
5. Solving system o
flinear e
quations
a. Suggested R
eading
i. 28.3 C
ormen
ii. Linear A
lgebra by
KennethChapter 1
b. Problems
i. http://www.topcoder.com/stat?c=problem_statement&pm=3942&rd=6520
6. Using m
atrix exponentiation to
solver
ecurrences
a. Suggested R
eading
i. http://www.topcoder.com/tc?module=Static&d1=features&d2=010408
b. Problems
i. REC, R
ABBIT1 ,
PLHOP o
ns
poj
ii. http://www.topcoder.com/stat?c=problem_statement&pm=6386 ,
http://www.topcoder.com/stat?c=problem_statement&pm=7262,
http://www.topcoder.com/stat?c=problem_statement&pm=6877
7. Eigen v
alues andE
igen vectors
a. Problems
i. http://www.topcoder.com/stat?c=problem_statement&pm=2423&rd=4780
Polynomials
1. Roots o
fa
polynomial [
Prime factorization of
a
p
olynomial,
I
nteger
roots
of
a
polynomial, A
llrealroots o
fa
polynomial ]
a. Problems
i. http://www.topcoder.com/stat?c=problem_statement&pm=8273&rd=10798
ii. POLYEQ ,
ROOTCIPH on
Spoj
2. Lagrange I
nterpolation
a. Problems
i. http://www.topcoder.com/stat?c=problem_statement&pm=10239
ii. http://www.topcoder.com/stat?c=problem_statement&pm=8725
e
.
P
ermutation c
ycles
Suggested R
eading
1. Arto
fComputer Programming by
KnuthV
ol. 3
Problems
1. ShuffleMethod, P
ermutation a
ndWordGame o
nt
opcoder.
f
.
G
roup
Theory
Burnside Lemma, P
olyas t
heorem
1. Suggested Reading
a. Hernstein's t
opics i
na
lgebra
b. http://petrmitrichev.blogspot.com/2008/11/burnsideslemma.html
2. Problems
a. TRANSP o
ns
poj
b. http://www.topcoder.com/stat?c=problem_statement&pm=9975
b. Generatingf
unctions
Suggested R
eading
1. Herbert Wilf's g
enerating functionology/
2. Robert S
edgewick a
ndFlajoulet's C
ombinatorial a
nalysis
9. Data
S
tructures.
i. Basic
a. Arrays/Stacks/Queues:
Problems
1. https://www.spoj.pl/problems/STPAR/
2. https://www.spoj.pl/problems/SHOP/
3. https://www.spoj.pl/problems/WATER/
Reading:
1. CLRS:
section
10.1
2. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=dataStructures
b
.
S
ingly/DoublyLinked
L
ist:
Problems
1. h
ttps://www.spoj.pl/problems/POSTERS/
Reading:
CLRS:s
ection
10.2,M
ark
A
llenW
eiesC
hapter3
c
.
H
ash
T
ables:
Problems
1. https://www.spoj.pl/problems/HASHIT/
2. https://www.spoj.pl/problems/CUCKOO/
Reading:
CLRS:C
hapter
11,
Mark
A
llen
Weies
Chapter
5
d.
Circular l
inked list/
queue
Problems
1. https://www.spoj.pl/problems/CTRICK/
e.
Binary/nary Trees
Reading
1. CLRS: section 1
0.4
2. CLRS: Chapter 1
2
3. Mark A
llen W
eies C
hapter 4
4. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=binarySearchRedBlack
f.
Heaps
Problems
1. https://www.spoj.pl/problems/PRO/
2. https://www.spoj.pl/problems/EXPEDI/
Reading :MarkA
llen W
eies C
hapter 6
i
i.
Advanced
a. Trie(
Keyword t
re
Problems
1. https://www.spoj.pl/problems/MORSE/
2. https://www.spoj.pl/problems/EMOTICON/
Reading
b. Interval t
rees /S
egment Trees
Problems
1. https://www.spoj.pl/problems/ORDERS/
2. https://www.spoj.pl/problems/FREQUENT/
Reading
c. Fenwick(Binary Indexed) t
rees
Problems
1. https://www.spoj.pl/problems/MATSUM/
Reading: h
ttp://www.topcoder.com/tc?module=Static&d1=tutorials&d2=binaryIndexedTrees
d. Disjoint d
ata s
tructures
Problems
1. https://www.spoj.pl/problems/BLINNET/
2. https://www.spoj.pl/problems/CHAIN/
Reading:
1. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=disjointDataStructure
2. Mark A
llen W
eies C
hapter 8
e. Rangeminimum Q
uery(RMQ)
Problems
1. https://www.spoj.pl/problems/GSS1/
Reading
http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=lowestCommonAncestor
f. Customized interval/segment trees(
Augmented DS)
Problems
1. https://www.spoj.pl/problems/GSS3/
2. https://www.spoj.pl/problems/RRSCHED/
Reading: C
LRS: C
hapter 14
(
augmented DS)
g.
A
VLT
rees
Problems
1.
https://www.spoj.pl/problems/ORDERS/
Reading
i
ii.
Miscellaneous (Notto
be
c
overed)
a. SplayTrees
b. B/B+T
rees
c. kdT
rees
d. Redblack Trees
e. SkipL
ist
f. Binomial/ Fibonacci h
eaps
i
v.
Exercices
1. https://www.spoj.pl/problems/LAZYPROG /(Hint: Heaps)t
2. https://www.spoj.pl/problems/HELPR2D2/ (
Hint: I
ntervalT
rees)
3. https://www.spoj.pl/problems/SAM/ (
Hint: Heaps)
4. https://www.spoj.pl/problems/PRHYME/ (
Hint: T
rie)
5. https://www.spoj.pl/problems/HEAPULM/ (
Hint: I
ntervalTrees)
6. https://www.spoj.pl/problems/CORNET/ (
Hint: D
isjoint)
7. https://www.spoj.pl/problems/EXPAND/
8. https://www.spoj.pl/problems/WPUZZLES/
9. https://www.spoj.pl/problems/LIS2/
10. Search T
echniques/Bruteforce w
riting t
echniques/Randomized a
lgorithms.
a. Backtracking [Beginner].
problems
>
1. Nq
ueens problems
2. Knights Tour
3. Sudoku P
roblem
4. Tiling P
roblem.
5. 15puzzle.
b. DancingLinksa
ndAlgorithm Xg
iven by
K
nuth [
Advanced]
problems
PRLGAME, SUDOKU, NQUEEN o
nS
POJ
Suggested reading
1. http://wwwcsfaculty.stanford.edu/~uno/papers/dancingcolor.ps.gz
c. BinaryS
earch
[Beginner].
problems
AGGRCOW o
nS
POJ. Referthet
utorial f
or
more
problems.
finding a
llrealrootsofa
polynomial using b
inarys
earch.[intermediate].
Suggested Reading
1. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=binarySearch
d. TernarySearch[
Intermediate].
problems
1. http://www.spoj.pl/problems/KPPOLY/
2. http://www.codechef.com/DEC09/problems/K1/
3. http://www.topcoder.com/stat?c=problem_statement&pm=4705&rd=7993
4. http://www.topcoder.com/stat?c=problem_statement&pm=7741&rd=10671
5. http://www.topcoder.com/stat?c=problem_statement&pm=6464&rd=9994
6. http://www.topcoder.com/stat?c=problem_statement&pm=3501&rd=6529
7. http://www.topcoder.com/stat?c=problem_statement&pm=4567&rd=6539
e. Meeti
n
the
middle [
Intermediate].
problems
1. http://www.spoj.pl/problems/MAXISET/
2. Hill C
limbing [
Advanced].
f. RegularIteration tor
each a
fixed p
oint [
Advanced].
NewtonRaphson method t
of
ind rooto
fa
mathematical f
unction.
Iterations t
os
olve linear n
on h
omogeneous s
ystemo
fe
quations.
General
programming issues in
contests
>
g. Arithmetic P
recision [Beginner].
Suggested Reading
1. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=integersReals
h. Representing setswithbitmasks a
ndmanipulating b
itmasks
[
Beginner].
Suggested Reading
1. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=bitManipulation
problems
refer to
thet
utorial l
ink i
nS
uggested readings
ection.