Sei sulla pagina 1di 5

ListofTopicsforprogrammingCompetitions

1. BasicGeometry/EuclideanGeometry/CoordinateGeometry/[3Dvariantsofeverything].
2. ComputationalGeometry.
a. GrahamScanalgorithmforConvexHullO(n*log(n)).
b. Onlineconstructionof3DconvexhullinO(n^2).
c. BentleyOttmannalgorithmtolistallintersectionpointsofnlinesegmentsinO((n+I)*logn).

1. http://softsurfer.com/Archive/algorithm_0108/algorithm_0108.htm
d. RotatingCalipersTechnique.

h ttp://cgm.cs.mcgill.ca/~orm/rotcal.html

ProblemsReferthearticleforalistofproblemswhichcanbesolvedusingRotatingCaliperstechnique.
e. LineSweep/PlaneSweepalgorithms

Area/PerimeterofUnionofRectangles.

Closestpairofpoints.

1. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=lineSweep

ProblemsFollowthetutorialforlistofproblems.
f. AreaofUnionofCircles.
g. DelayunayTriangulationofnpointsinO(n*logn).
h. VoronoiDiagramsofnpointsinO(n*logn)usingFortunesalgorithm.
i. Pointinapolygonproblem

O(n)solutionwithoutpreprocessing.

O(logn)algorithmwithO(n*logn)preprocessingforconvexpolygons.
j. Problemsoncomputationalgeometry

BSHEEP
,
B ULK
,
S EGVIS
,
C ONDUIT
,
R UNAWAY
,
D IRVS
,
R AIN1
,
S HAMAN
,
T CUTTER
,
L ITEPIPE
,
R HOMBS
,
F SHEEP
,
F LBRKLIN
,
C ERC07P
,
BAC
,
A LTARS
,
C ERC07C
,
N ECKLACE
,
C H3D
,
R ECTANGL
,
P OLYSSQ
,
F OREST2
,
K PPOLY
,
R AIN2
,
S EGMENTS
,
A RCHPLG
,
B ALLOON
,
CIRCLES
,
C OMPASS
,
E OWAMRT
,
I CERINK
onSPOJ.

CultureGrowth
,
P olygonCover
onTopcoder.

ComputationalGeometry:Algorithmsandapplications.MarkDeBurg.
3. StringAlgorithm
.
a. KnuthMorrisPrattalgorithm.

ProblemsNHAY,PERIODonSPOJ.

1. CormenchapteronStrings.
2. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=stringSearching
b. AhoCorasickalgorithm.

ProblemsWPUZZLESonSPOJ.
c. SuffixArrays

O(n^2*logn)Naivemethodofsuffixarrayconstruction

O(n*logn^2)methodofsuffixarrayconstruction

O(n*logn)methodofsuffixarrayconstruction.

O(n)methodofsuffixarrayconstruction

O(n)LCApreprocessonSuffixArraystosolveavarietyofstringproblems.
d. SuffixTrees

O(n)constructionofSuffixtreesusingUkkenonsalgorithm.

O(n)constructionofSuffixTreesifprovidedwithSuffixArraysusingFarachsalgorithm.
e. SuffixAutomata

O(n)SuffixAutomatonconstruction.
f. DictionaryOfBasicFactors

g. ManacharsalgorithmtofindLenghofpalindromicsubstringofastringcenteredatapositionforeachpositioninthe
string.Runtime>O(n).
h. SearchingandpreprocessingRegularExpressionsconsistingof?,*.
i. Multidimensionalpatternmatching.
j. ProblemsonStrings[canbesolvedwithavarietyoftechniques]

DISUBSTR
,
P LD
,
M STRING
,
R EPEATS
,
J EWELS
,
A RCHIVER
,
P ROPKEY
,
L ITELANG
,
E MOTICON
,
W ORDS
,
A MCODES
,
U CODES
,
P T07H
,
MINSEQ
,
T OPALIN
,
B WHEELER
,
,
S ARRAY
,
L CS
,
L CS2
,
S UBST1
,
P HRASES
,
P RETILE
onSPOJ

http://www.algorithmist.com/index.php/Category:String_algorithms
4. BasicGraphs[beginner]
.
representationsindifferentscenarios.

problems
1. PPATH
,
O NEZERO
,
W ATER
onSPOJ
c. DepthFirstSearch.
d. StronglyConnectedComponents.

problems
1. TOUR
and
B OTTOM
onSPOJ.
e. BiconnectedComponents,Findingarticulationpointsandbridges].

problems
1. RELINETS
,
P T07A
onSPOJ.
f. Dijkstraalgorithm

problems
1. SHPATH
onSPOJ.
g. FloydWarshallalgorithm

problems
1. COURIER
onSPOJ.
h. MinimumSpanningTree

problems
1. BLINNET
onSPOJ.
i. Floodfillalgorithm
j. Topologicalsort
k. BellmanFordalgorithm.
l. EulerTour/Path.

problems
W ORDS1
onSPOJ.

http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=graphsDataStrucs1
.

Alsorefertothetutorialforproblemsconcerningthesetechniques.

Cormenchapter22to24.
a. MaximumflowusingFordFulkersonMethod.

1. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=maxFlow

problems
T AXI
,
P OTHOLE
,
I M
,
Q UEST4
,
M UDDY
,
E N
,
C ABLETV
,
,
,
C OCONUTS
,
O PTM
onSPOJ.
b. MaximumflowusingDinicsAlgorithm.

Problems
P ROFIT
onspoj.
c. MinimumCostMaximumFlow.

SuccessiveShortestpathalgorithm.

CycleCancellingalgorithm.

1. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=minimumCostFlow1
d. MaximumweightedBipartiteMatching(KuhnMunkrasalgorithm/HungarianMethod)

problems
G REED
,
S CITIES
,
T OURS
onSPOJ|
h ttp://www.topcoder.com/stat?c=problem_statement&pm=8143
e. StoerWagnermincutalgorithm.
f. HopcroftKarpbipartitematchingalgorithm.

problems
A NGELS
onSPOJ.
g. Maximummatchingingeneralgraph(blossomshrinking)
h. GomoryHuTrees.

i)Problems
M CQUERY
onSpoj.
i. ChinesePostmanProblem.

problems
h ttp://acm.uva.es/archive/nuevoportal/data/problem.php?p=4039

h ttp://eie507.eie.polyu.edu.hk/sssubmission/B7a/

NetworkflowAlgorithmsandApplicationsbyAhuja

Cormenbookchapter25.
6. DynamicProgramming.

CormenchapteronDP
b. Standardproblems(youshouldreallyfeelcomfortablewiththesetypes)

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. Statespacereduction

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. Solvinginthereverseeasiercharacterizationslookingfromtheend

http://www.spoj.pl/problems/MUSKET/

http://www.topcoder.com/stat?c=problem_statement&pm=5908
e. Counting/optimizingarrangementssatisfyingsomespecifiedproperties

http://www.topcoder.com/stat?c=problem_statement&pm=8306

http://www.topcoder.com/stat?c=problem_statement&pm=7849
f. Strategiesandexpectedvalues

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

g. DPonprobabilityspaces

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

h. DPontrees

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

i. DPwithdatastructures

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

j. SymmetriccharacterizationofDPstate

http://www.topcoder.com/stat?c=problem_statement&pm=8610
k. Agoodcollectionofproblems

http://codeforces.com/blog/entry/325
http://problemclassifier.appspot.com/index.jsp?search=dp&usr=

7. Greedy.

ChapteronGreedyalgorithmsinCormen.

http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=greedyAlg
b. problemsrefertothetopcodertutorial.
8. NumberTheory.
a. Modulusarithmeticbasicpostulates[Includingmodularlinearequations,ContinuedfractionandPell'sequation]

1. Chapter1fromNumberTheoryforComputingbySYYan[Recommended]
2. 31.1,31.3and31.4fromCormen

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'stheorem,EulerTotienttheorem(totientfunction,order,primitiveroots)

1. 1.6,2.2fromNumberTheorybySYYan
2. 31.6,31.7fromCormen

Problems
1. http://projecteuler.net/index.php?section=problems&id=70
2. http://www.spoj.pl/problems/NDIVPHI/
c. Chineseremaindertheorem

1. 31.5fromCormen
2. 1.6fromNumberTheorybySYYan

Problems
1. ProjectEuler271
2. http://www.topcoder.com/stat?c=problem_statement&pm=10551&rd=13903
d. Primalitytests

DeterministicO(sqrt(n))approach

ProbabilisticprimalitytestsFermatprimalitytest,MillerRabinPrimalitytest
a. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=primalityTesting
b. Cormen31.8
c. 2.2fromNumberTheorybySYYan
2. Problems
a. PON,PRIC,SOLSTRASonSPOJ
b. http://www.topcoder.com/stat?c=problem_statement&pm=4515
e. PrimegenerationtechniquesSieveofErastothenes

SuggestedProblemsPRIME1onSPOJ
f. GCDusingeuclideanmethod

1. 31.2Cormen

Problems
1. GCDonSPOJ
2. http://uva.onlinejudge.org/external/114/11424.html
g. LogarithmicExponentiation

1. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=primalityTesting
h. IntegerFactorization

NaiveO(sqrt(n))method

PollardRhofactorization
1. 2.3fromNumberTheorySYYan
2. 31.9Cormen

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. Stirlingnumbers
j. Wilsontheorem

nCr%pinO(p)preprocessandO(logn)query
k. LucasTheorem

NumbertheoryforcomputingbySongYYan[Simplebookdescribingconceptsindetails]

ConceptsarealsosuperficiallycoveredinChapter31ofIntroductiontoAlgorithmsbyCormen

http://www.codechef.com/wiki/tutorialnumbertheory

http://www.algorithmist.com/index.php/Category:Number_Theory
m. ProblemsonNumberTheory

http://www.algorithmist.com/index.php/Category:Number_Theory

http://problemclassifier.appspot.com/index.jsp?search=number&usr=
9. Math(Probability,Counting,GameTheory,GroupTheory,Generatingfunctions,PermutationCycles,LinearAlgebra)
a. Probability.
Syllabus

BasicprobabilityandConditionalprobability
1. Suggestedproblems
a. http://www.spoj.pl/problems/CT16E/
b. http://www.spoj.pl/problems/CHICAGO/

Randomvariables,probabilitygeneratingfunctions

Mathematicalexpectation+Linearityofexpectation
1. Suggestedproblems
a. http://www.spoj.pl/problems/FAVDICE/
b. http://www.topcoder.com/stat?c=problem_statement&pm=10744

Specialdiscreteandcontinuousprobabilitydistributions
1. Bernoulli,Binomial,Poisson,normaldistribution
2. SuggestedProblem
a. http://acm.sgu.ru/problem.php?contest=0&problem=498

1. CormenappendixC(verybasic)
2. Topcoderprobabiltytutorial

h ttp://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. WilliamFeller,Anintroductiontoprobabilitytheoryanditsapplications
b. Counting
Syllabus

1. Suggestedproblems
a. http://acm.timus.ru/problem.aspx?space=1&num=1690
b. http://www.topcoder.com/stat?c=problem_statement&pm=10805
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
a. http://en.wikipedia.org/wiki/Inclusionexclusion_principle
2. Suggestedproblems
a. http://www.topcoder.com/stat?c=problem_statement&pm=4463&rd=6536
b. http://www.topcoder.com/stat?c=problem_statement&pm=10238

Specialnumbers
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. ConcretemathematicsbyKnuth
2. Suggestedproblems
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

a. http://en.wikipedia.org/wiki/Burnside's_lemma
b. http://petrmitrichev.blogspot.com/2008/11/burnsideslemma.html
2. SuggestedProblems
a. http://www.topcoder.com/stat?c=problem_statement&pm=9975
b. http://www.spoj.pl/problems/TRANSP/
c.Gametheory
Syllabus

BasicprinciplesandNimgame
1. Spraguegrundytheorem,grundynumbers
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. Suggestedproblems
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
a. http://en.wikipedia.org/wiki/Hackenbush
b. http://www.ams.org/samplings/featurecolumn/fcarcpartizan1
2. Suggestedproblems
a. http://www.cs.caltech.edu/ipsc/problems/g.html
b. http://www.spoj.pl/problems/PT07A/
d.LinearAlgebra
Syllabus

MatrixOperations

i. Cormen28.1
2. Multiplication(Strassen'salgorithm),logarithmicexponentiation
i. Cormen28.2
ii. LinearAlgebrabyKennethHoffmanSection1.6
b. Problems
i. http://uva.onlinejudge.org/external/111/11149.html
3. Matrixtransformations[Transpose,RotationofMatrix,RepresentingLineartransformationsusingmatrix]
i. LinearAlgebraByKennethHoffmanSection3.1,3.2,3.4,3.7
b. Problems
i. http://www.topcoder.com/stat?c=problem_statement&pm=6877
ii. JPIXonSpoj
4. Determinant,RankandInverseofMatrix[GausseanElimination,GaussJordanElimination]
i. 28.4Cormen
ii. LinearAlgebrabyKennethChapter1
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. HIGHonSpoj
5. Solvingsystemoflinearequations
i. 28.3Cormen
ii. LinearAlgebrabyKennethChapter1
b. Problems
i. http://www.topcoder.com/stat?c=problem_statement&pm=3942&rd=6520
6. Usingmatrixexponentiationtosolverecurrences
i. http://www.topcoder.com/tc?module=Static&d1=features&d2=010408
b. Problems
i. REC,RABBIT1,PLHOPonspoj
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. EigenvaluesandEigenvectors
a. Problems
i. http://www.topcoder.com/stat?c=problem_statement&pm=2423&rd=4780

Polynomials
1. Rootsofapolynomial[Primefactorizationofapolynomial,Integerrootsofapolynomial,Allrealroots
ofapolynomial]
a. Problems
i. http://www.topcoder.com/stat?c=problem_statement&pm=8273&rd=10798
ii. POLYEQ,ROOTCIPHonSpoj
2. LagrangeInterpolation
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.Permutationcycles

1. ArtofComputerProgrammingbyKnuthVol.3

Problems
1. ShuffleMethod,PermutationandWordGameontopcoder.
f.GroupTheory

BernsideLemma,Poliastheorem
a. Hernstein'stopicsinalgebra
b. http://petrmitrichev.blogspot.com/2008/11/burnsideslemma.html
2. Problems
a. TRANSPonspoj
b. http://www.topcoder.com/stat?c=problem_statement&pm=9975
b. Generatingfunctions

1. HerbertWilf'sgeneratingfunctionology
2. RobertSedgewickandFlajoulet'sCombinatorialanalysis

10. DataStructures.
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/

1. CLRS:section10.1
2. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=dataStructures

Problems
1. h
t tps://www.spoj.pl/problems/POSTERS/

c.HashTables:

Problems
1. https://www.spoj.pl/problems/HASHIT/
2. https://www.spoj.pl/problems/CUCKOO/

Problems
1. https://www.spoj.pl/problems/CTRICK/
e.Binary/naryTrees

1. CLRS:section10.4
2. CLRS:Chapter12
3. MarkAllenWeiesChapter4
4. h
t tp://www.topcoder.com/tc?module=Static&d1=tutorials&d2=binarySearchRedBlack
f.Heaps

Problems
1. https://www.spoj.pl/problems/PRO/

2. h
t tps://www.spoj.pl/problems/EXPEDI/

a. Trie(Keywordtree)

Problems
1. https://www.spoj.pl/problems/MORSE/
2. https://www.spoj.pl/problems/EMOTICON/

b. Intervaltrees/SegmentTrees

Problems
1. https://www.spoj.pl/problems/ORDERS/
2. https://www.spoj.pl/problems/FREQUENT/

c. Fenwick(BinaryIndexed)trees

Problems
1. https://www.spoj.pl/problems/MATSUM/

h ttp://www.topcoder.com/tc?module=Static&d1=tutorials&d2=binaryIndexedTrees
d. Disjointdatastructures

Problems
1. https://www.spoj.pl/problems/BLINNET/
2. https://www.spoj.pl/problems/CHAIN/

1.
h ttp://www.topcoder.com/tc?module=Static&d1=tutorials&d2=disjointDataStructure
2. MarkAllenWeiesChapter8
e. RangeminimumQuery(RMQ)

Problems
1. https://www.spoj.pl/problems/GSS1/

h ttp://www.topcoder.com/tc?module=Static&d1=tutorials&d2=lowestCommonAncestor
f. Customizedinterval/segmenttrees(AugmentedDS)

Problems
1. https://www.spoj.pl/problems/GSS3/
2. https://www.spoj.pl/problems/RRSCHED/

g.AVLTrees

Problems
1.
h ttps://www.spoj.pl/problems/ORDERS/

iii.Miscellaneous(Nottobecovered)
a. SplayTrees
b. B/B+Trees
c. kdTrees
d. RedblackTrees
e. SkipList
f. Binomial/Fibonacciheaps

iv.Exercices
1. https://www.spoj.pl/problems/LAZYPROG
/(Hint:Heaps)t
2. https://www.spoj.pl/problems/HELPR2D2/
(Hint:IntervalTrees)
3. https://www.spoj.pl/problems/SAM/
(Hint:Heaps)
4. https://www.spoj.pl/problems/PRHYME/
(Hint:Trie)
5. https://www.spoj.pl/problems/HEAPULM/
(Hint:IntervalTrees)
6. https://www.spoj.pl/problems/CORNET/
(Hint:Disjoint)
7. https://www.spoj.pl/problems/EXPAND/
8. https://www.spoj.pl/problems/WPUZZLES/
9. https://www.spoj.pl/problems/LIS2/

11. SearchTechniques/Bruteforcewritingtechniques/Randomizedalgorithms.
a. Backtracking[Beginner].

problems>
1. Nqueensproblems
2. KnightsTour
3. SudokuProblem
4. TilingProblem.
5. 15puzzle.

problemsPRLGAME,SUDOKU,NQUEENonSPOJ

1. http://wwwcsfaculty.stanford.edu/~uno/papers/dancingcolor.ps.gz
c. BinarySearch[Beginner].

poblemsAGGRCOWonSPOJ.Referthetutorialformoreproblems.

findingallrealrootsofapolynomialusingbinarysearch.[intermediate].

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. Meetinthemiddle[Intermediate].

problems
1. http://www.spoj.pl/problems/MAXISET/
2. http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2868

NewtonRaphsonmethodtofindrootofamathematicalfunction.

Iterationstosolvelinearnonhomogeneoussystemofequations.
h. RandomizedAlgorithms[Intermediate]

QuickSort.
12. Generalprogrammingissuesincontests
>
a. ArithmeticPrecision[Beginner].

1. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=integersReals

1. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=bitManipulation