0% found this document useful (0 votes)
57 views

Programming Camp Syl Lab Us

The document provides a list of topics for programming competitions organized under different categories like basic geometry, computational geometry, string algorithms, basic graphs, flow networks, dynamic programming, greedy algorithms, and number theory. Each topic includes relevant algorithms, example problems from sources like SPOJ and TopCoder, and suggested reading materials like sections from books and online tutorials. The list covers fundamental concepts as well as advanced topics and provides resources to learn algorithms and practice different problem types.

Uploaded by

Rajat Singh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views

Programming Camp Syl Lab Us

The document provides a list of topics for programming competitions organized under different categories like basic geometry, computational geometry, string algorithms, basic graphs, flow networks, dynamic programming, greedy algorithms, and number theory. Each topic includes relevant algorithms, example problems from sources like SPOJ and TopCoder, and suggested reading materials like sections from books and online tutorials. The list covers fundamental concepts as well as advanced topics and provides resources to learn algorithms and practice different problem types.

Uploaded by

Rajat Singh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

ListofTopicsforprogrammingCompetitions

1. BasicGeometry/EuclideanGeometry/CoordinateGeometry/[3Dvariantsofeverything].
2. ComputationalGeometry.
a. GrahamScanalgorithmforConvexHullO(n*log(n)).
b. Onlineconstructionof3DconvexhullinO(n^2).
c. BentleyOttmannalgorithmtolistallintersectionpointsofnlinesegmentsinO((n+I)*logn).
SuggestedReading
1. http://softsurfer.com/Archive/algorithm_0108/algorithm_0108.htm
d. RotatingCalipersTechnique.
SuggestedReadinghttp://cgm.cs.mcgill.ca/~orm/rotcal.html
ProblemsReferthearticleforalistofproblemswhichcanbesolvedusingRotatingCaliperstechnique.
e. LineSweep/PlaneSweepalgorithms
Area/PerimeterofUnionofRectangles.
Closestpairofpoints.
SuggestedReading
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,BULK,SEGVIS,CONDUIT,RUNAWAY,DIRVS,RAIN1,SHAMAN,TCUTTER,LITEPIPE,RHOMBS,FSHEEP,FLBRKLIN,CERC07P,BAC,
ALTARS,CERC07C,NECKLACE,CH3D,RECTANGL,POLYSSQ,FOREST2,KPPOLY,RAIN2,SEGMENTS,ARCHPLG,BALLOON,CIRCLES,COMPASS,
EOWAMRT,ICERINKonSPOJ.
CultureGrowth,PolygonCoveronTopcoder.
k. SuggestedReading
ComputationalGeometry:Algorithmsandapplications.MarkDeBurg.
3. StringAlgorithm.
a. KnuthMorrisPrattalgorithm.
ProblemsNHAY,PERIODonSPOJ.
SuggestedReading
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
O(n*logn)methodofDBFconstructionusingRadixSort.
g. ManacharsalgorithmtofindLenghofpalindromicsubstringofastringcenteredatapositionforeachpositioninthestring.
Runtime>O(n).
h. SearchingandpreprocessingRegularExpressionsconsistingof?,*.
i. Multidimensionalpatternmatching.
j. ProblemsonStrings[canbesolvedwithavarietyoftechniques]
DISUBSTR,PLD,MSTRING,REPEATS,JEWELS,ARCHIVER,PROPKEY,LITELANG,EMOTICON,WORDS,AMCODES,UCODES,PT07H,MINSEQ,
TOPALIN,BWHEELER,BEADS,SARRAY,LCS,LCS2,SUBST1,PHRASES,PRETILEonSPOJ
http://www.algorithmist.com/index.php/Category:String_algorithms
4. BasicGraphs[beginner].
a. Representationofgraphsasadjacencylist,adjacencymatrix,incidencematrixandedgelistandusesofdifferentrepresentations
indifferentscenarios.
b. BreadthFirstSearch.
problems
1. PPATH,ONEZERO,WATERonSPOJ
c. DepthFirstSearch.
d. StronglyConnectedComponents.
problems
1. TOURandBOTTOMonSPOJ.
e. BiconnectedComponents,Findingarticulationpointsandbridges].
problems
1. RELINETS,PT07AonSPOJ.
f. Dijkstraalgorithm
problems
1. SHPATHonSPOJ.
g. FloydWarshallalgorithm
problems
1. COURIERonSPOJ.
h. MinimumSpanningTree
problems
1. BLINNETonSPOJ.
i. Floodfillalgorithm
j. Topologicalsort
k. BellmanFordalgorithm.
l. EulerTour/Path.
problemsWORDS1onSPOJ.
m. SuggestedreadingformostofthetopicsinGraphalgorithms
http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=graphsDataStrucs1.
Alsorefertothetutorialforproblemsconcerningthesetechniques.
Cormenchapter22to24.
5. Flownetworks/matchingetcetc.[Interdiate/Advanced].
a. MaximumflowusingFordFulkersonMethod.
SuggestedReading
1. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=maxFlow
problemsTAXI,POTHOLE,IM,QUEST4,MUDDY,EN,CABLETV,STEAD,NETADMIN,COCONUTS,OPTMonSPOJ.
b. MaximumflowusingDinicsAlgorithm.
ProblemsPROFITonspoj.
c. MinimumCostMaximumFlow.
SuccessiveShortestpathalgorithm.
CycleCancellingalgorithm.
SuggestedReading
1. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=minimumCostFlow1
d. MaximumweightedBipartiteMatching(KuhnMunkrasalgorithm/HungarianMethod)
problemsGREED,SCITIES,TOURSonSPOJ|http://www.topcoder.com/stat?c=problem_statement&pm=8143
e. StoerWagnermincutalgorithm.
f. HopcroftKarpbipartitematchingalgorithm.
problemsANGELSonSPOJ.
g. Maximummatchingingeneralgraph(blossomshrinking)
h. GomoryHuTrees.

i)ProblemsMCQUERYonSpoj.
i. ChinesePostmanProblem.
problemshttp://acm.uva.es/archive/nuevoportal/data/problem.php?p=4039
SuggestedReadinghttp://eie507.eie.polyu.edu.hk/sssubmission/B7a/
j. SuggestedReadingforthefullcategory>
NetworkflowAlgorithmsandApplicationsbyAhuja
Cormenbookchapter25.
6. DynamicProgramming.
a. SuggestedReadingDynamicProgramming(DP)asatabulationmethod
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.
a. SuggestedReading
ChapteronGreedyalgorithmsinCormen.
http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=greedyAlg
b. problemsrefertothetopcodertutorial.
8. NumberTheory.
a. Modulusarithmeticbasicpostulates[Includingmodularlinearequations,ContinuedfractionandPell'sequation]
SuggestedReading
1. Chapter1fromNumberTheoryforComputingbySYYan[Recommended]
2. 31.1,31.3and31.4fromCormen
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'stheorem,EulerTotienttheorem(totientfunction,order,primitiveroots)
SuggestedReading
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
SuggestedReading
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
1. SuggestedReading
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
SuggestedReading
1. 31.2Cormen
Problems
1. GCDonSPOJ
2. http://uva.onlinejudge.org/external/114/11424.html
g. LogarithmicExponentiation
SuggestedReading
1. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=primalityTesting
h. IntegerFactorization
NaiveO(sqrt(n))method

PollardRhofactorization
SuggestedReading
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
l. SuggestedReadingforNumberTheory
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
SuggestedReadings
1. CormenappendixC(verybasic)
2. Topcoderprobabiltytutorialhttp://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
BasicprinciplesPigeonholeprinciple,addition,multiplicationrules
1. Suggestedproblems
a. http://acm.timus.ru/problem.aspx?space=1&num=1690
b. http://www.topcoder.com/stat?c=problem_statement&pm=10805
3. Suggestedreadings
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. Suggestedreadings
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
1. SuggestedreadingStirling,eurlerian,harmonic,bernoulli,fibonnaccinumbers
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
AdvancedcountingtechniquesPolyacounting,burnsideslemma
1. Suggestedreading
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
2. Suggestedreadings
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
1. Suggestedreadings
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
1. Additionandsubtractionofmatrices

a. SuggestedReading
i. Cormen28.1
2. Multiplication(Strassen'salgorithm),logarithmicexponentiation
a. Suggestedreading
i. Cormen28.2
ii.LinearAlgebrabyKennethHoffmanSection1.6
b. Problems
i. http://uva.onlinejudge.org/external/111/11149.html
3. Matrixtransformations[Transpose,RotationofMatrix,RepresentingLineartransformationsusingmatrix]
a. SuggestedReading
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]
a. SuggestedReading
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
a. SuggestedReading
i. 28.3Cormen
ii.LinearAlgebrabyKennethChapter1
b. Problems
i. http://www.topcoder.com/stat?c=problem_statement&pm=3942&rd=6520
6. Usingmatrixexponentiationtosolverecurrences
a. SuggestedReading
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,Allrealrootsofa
polynomial]
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
SuggestedReading
1. ArtofComputerProgrammingbyKnuthVol.3
Problems
1. ShuffleMethod,PermutationandWordGameontopcoder.
f.GroupTheory
BernsideLemma,Poliastheorem
1. SuggestedReading
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
SuggestedReading
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/
Reading:
1. CLRS:section10.1
2. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=dataStructures

b.Singly/DoublyLinkedList:
Problems
1. https://www.spoj.pl/problems/POSTERS/
Reading:CLRS:section10.2,MarkAllenWeiesChapter3
c.HashTables:
Problems
1. https://www.spoj.pl/problems/HASHIT/
2. https://www.spoj.pl/problems/CUCKOO/
Reading:CLRS:Chapter11,MarkAllenWeiesChapter5
d.Circularlinkedlist/queue
Problems
1. https://www.spoj.pl/problems/CTRICK/
e.Binary/naryTrees
Reading
1. CLRS:section10.4
2. CLRS:Chapter12
3. MarkAllenWeiesChapter4
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:MarkAllenWeiesChapter6

ii.Advanced
a. Trie(Keywordtree)
Problems
1. https://www.spoj.pl/problems/MORSE/
2. https://www.spoj.pl/problems/EMOTICON/
Reading
b. Intervaltrees/SegmentTrees
Problems
1. https://www.spoj.pl/problems/ORDERS/
2. https://www.spoj.pl/problems/FREQUENT/
Reading
c. Fenwick(BinaryIndexed)trees
Problems
1. https://www.spoj.pl/problems/MATSUM/
Reading:http://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/
Reading:
1. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=disjointDataStructure
2. MarkAllenWeiesChapter8
e. RangeminimumQuery(RMQ)
Problems
1. https://www.spoj.pl/problems/GSS1/
Readinghttp://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/
Reading:CLRS:Chapter14(augmentedDS)
g.AVLTrees
Problems
1.https://www.spoj.pl/problems/ORDERS/
Reading

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.
b. DancingLinksandAlgorithmXgivenbyKnuth[Advanced]
problemsPRLGAME,SUDOKU,NQUEENonSPOJ
Suggestedreading
1. http://wwwcsfaculty.stanford.edu/~uno/papers/dancingcolor.ps.gz
c. BinarySearch[Beginner].
poblemsAGGRCOWonSPOJ.Referthetutorialformoreproblems.
findingallrealrootsofapolynomialusingbinarysearch.[intermediate].
SuggestedReading
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
f. HillClimbing[Advanced].
g. RegularIterationtoreachafixedpoint[Advanced].
NewtonRaphsonmethodtofindrootofamathematicalfunction.
Iterationstosolvelinearnonhomogeneoussystemofequations.
h. RandomizedAlgorithms[Intermediate]
QuickSort.
12.Generalprogrammingissuesincontests>
a. ArithmeticPrecision[Beginner].
SuggestedReading
1. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=integersReals
b. Representingsetswithbitmasksandmanipulatingbitmasks[Beginner].
SuggestedReading
1. http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=bitManipulation
problemsrefertothetutoriallinkinSuggestedreadingsection.

You might also like