You are on page 1of 9

5/21/2015

(2)HowshouldIpracticesothatIwillbeatalevelwhereIcanapproachTopCoder'sDiv1500problemswithconfidence?Quora

1.4KWANTANSWERS

HowshouldIpracticesothatIwillbeatalevel
whereIcanapproachTopCoder'sDiv1500
problemswithconfidence?
Iamarookiewithzerocompetitiveprogrammingexperience.

Latestactivity:9hago

WantAnswers 1.4k

Comment Share 29

QUESTIONTOPICS
ASKTOANSWER

TopCoder

KrutarthPatel

Competitive
Programming

EditBiographyMakeAnonymous

EditTopics

MichalDanilk,MiminoonTopCoderandCodeforces
1kupvotesbyChetanGupta,NikhilGarg,RizwanHudda,(more)

Facebook

GettinghighratedinTopCoder/Codeforcescompetitionsisn'tanovernight
success.Ittakesalotoftimeandeffortandtherearen'tanyshortcuts(asfar
asIknow).Butthegoodthingis,itisalotoffun(seriously,whenyouget
better,itismuchmorefunthancomputergames)andanyonecandothis.

QUESTIONSTATS

WantAnswers
Edits

HowdoIgetbetteratunderstandinghow
tosolveTopCoderproblems?
WhatapproachshouldIfollowon
TopCoder?
WhatalgorithmsmustIbeawareof
beforeattackingTopCoderdiv2hard/
div1problems?

Twitter

Aliases

Are250pand500pproblemsabletoget
youtoDiv.1inTopCoder?

Writeyouranswer,oranswerlater

SHAREQUESTION

Views

InwhatordershouldIapproachproblems
atTopCoder?
Whatarethebestresources/blogsto
studycombinatorics,DIV1,500level?

Downvote

13ANSWERS

RELATEDQUESTIONS

128,112
2
1426

Frommypersonalexperience(I'mMimino,bothonTopCoderand
Codeforces),Iwouldrecommendthefollowingthings:
chooseaprogramminglanguageyouaregoingtouseinallthe
competitions.IwouldsaythebestchoiceisC++,becauseofitsspeed,
availabledatastructures/algorithmsinSTLlibraryandbecauseallthe
competitionssupportit.OtherreasonablechoicesareC#orJavaormaybe
Pascal.ButPascalisnotsupportedonTopCoderandC#isnotsupported
onACMICPC.BesidestheselanguagesIwouldn'trecommendanyother.
Nowwhenyouchosealanguage,learnitanditsstandardlibrary.
Thinkingaboutlanguage'ssyntaxisdefinitelynotsomethingyouwantto
doduringthecompetition.

Ican'tevenclearDiv2500pointer
problems.HowshouldItrain?
Whatshouldbetheorderofproblemson
TopCoderforabeginner?AlsocanIsee
thecategoryofthatproblem?Whatdo
TopC...
IftheACMICPCWorldFinalsproblems
weretoappearinaTopCoderSRMDiv1,
howmanypointswouldtheybe
assigned?
WhyisithardtogotoDiv1in
CodeforcescomparedtoTopCoder?
MoreRelatedQuestions

chooseanIDEandstickwithit.Ifavailable,learntouseitsdebugger.
Althoughitisagoodthingtolearnhowtodebugwithouttheintegrated
debugger,throughthewellplacedoutputmessages.
getsometheoreticalknowledgeofalgorithms.Book"Introductionto
Algorithms",writtenbyCormenandsomeotherguys,isconsideredBible
onthistopic.Itcontainsprettymuchallthealgorithms,mathanddata
structuresyouneedtoknowforprogrammingcompetitions.
solvetheproblemsonUSACOhttp://train.usaco.org/usacogate .This
portalpreparesthehighschoolUSAstudentsforInternationalOlympiad
inInformatics.Itcontainsalotoftutorialsandtopicspecificproblemsin
slowlyincreasingdifficulty.Seriously,itisagreatplacetogetstarted.A
littleadviceseriously,finishalltheproblemsthere.Don'tquitjustbecause
yougotstuckonsomeproblem.Thesearethethingsthatmakeyoubetter.
Butifyougetseriouslystuck,check/askonTopCoderforumsforthe
answer.
ifyouhaveaproblemwithimplementingasolutionforaproblem,then
practice,practice,practice!Nomatterwhatonlinejudgeyouchooseto
practiceon(TopCoder,Codeforces,CodeChef,SPOJ,Timus,etc.),writea
lotofcode.Becausetypicalcompetitionsourcecodehas~100linesof
code,wearenottalkinghereabouttheartofsoftwaredesign.Frommy
pointofview,around8090%ofthecodeIwriteduringthecompetition,I
don'teventhinkabout.Itfeelslikemyhandsknowwhattowrite.Idon't
havetothinkaboutthenamesofvariablesIuse,becausedependingon
theirpurpose,Ialwaysnamethemthesame.Idon'tthinkabouthowto
representagraph,traversethegraph,multiplymatrices,etc.,becauseI've
writtenthesethingsmanytimesbeforeandIalwayswritethemthesame
way.Thisgivesyouthespeedadvantageandalsofreesyourmindfrom
lowlevelstuff,soyoucanthinkaboutthemoreimportantproblems.To
getanicecodingstyle,IwouldrecommendreadingSnapDragon's

http://www.quora.com/HowshouldIpracticesothatIwillbeatalevelwhereIcanapproachTopCodersDiv1500problemswithconfidence

1/9

5/21/2015

(2)HowshouldIpracticesothatIwillbeatalevelwhereIcanapproachTopCoder'sDiv1500problemswithconfidence?Quora
solutionsonTopCoder.Evenhighratedcodercanstilllearnsomething
fromhim.
ifyouhaveaproblemwithcomingupwithasolutionforaproblem,then
dependingonyourskilllevel,dooneofthefollowingthings

ifyouareaverybeginnerandeventheeasiestproblemsgiveyouahard
time,thenyouneedtolearnhowproblemsolvingworks.InmyearlydaysI
justreadthetonsofproblemsandtheirsamplesolutionswithout
implementingthem.IfIhadimplementedthem,itwouldtakealotof
time.WhatIgotfromthisstrategywasthe"problemsolvingthinking",i.e.
ifIseeamazeintheproblem,itisagraph,ifI'mlookingforoptimal
solutionofsomekind,itisusuallythedynamicprogramming,ifagameis
played,itisanim.Inotherwords,youwillstartseeingthepatterns.
ifyouknowthebasicsofproblemsolving,thensolvetheproblemswith
implementingthem.Alwaystrytochoosetheproblemsalittleharderthan
youarecomfortablewith.Ifyoudon'tknowhowtosolveit,readthe
solution,trytounderstanditandthenimplementit.Itisassimpleasthat
:)
thelaststepisdothecompetitions!Itisonethingtosolvethe
problem,whenyouhaveallthetimeyouneed.Somethingdifferentisto
solveitunderthegiventimelimit,withalltherush,whenyouseeother
peoplealreadysubmittingit.Ifitsoundsscary,well,itcouldbe:)Butitis
thebestthingever!Itwillkeepyoumotivated,youcanwatchyour
progressandbecomethepartofthecommunity.
Andthat'sprettymuchit.Ihopemyanswerwillhelpyouonyour
programmingjourneyandfeelfreetoask,ifyouhaveanyquestions.
Updated15Jun,2012.35,092views.

Upvote 1k

Downvote Comments 12+

Share 9

Addacomment...

Comment

JatinShridhar1votebyEmrehanTuzun
HowcanIreadsomeoneelse'ssolutionontopcoder?(asyouhavementioned
readingSnapDragon'scode)
Reply... UpvoteDownvoteShareReport27Jun,2012
MichalDanilk
EitherinsomepracticeroomsinArena(probablysomeolderones)oryou
canviewallhiscontestsubmissionswhenyouclickonhisprofileand
contesthistory.
Reply... UpvoteDownvoteShareReport29Jun,2012
HusseinElsayed1votebySauravShekhar
GotothepracticeroomofthisSRM,andopenthesummaryofthematch,
openanysolution..orgotothecontestantprofileandinhisratinggraph
openthesrm,andthencheckhissolution
Reply... UpvoteDownvoteShareReport19Jan,2013
VarunSharma
Viewotherscodeontopcoders
Reply... UpvoteDownvoteShareReport18Mar,2014
KaushikSurikuchi1votebyArpanMukherjee
Youhaveseriouslymotivatedme,bymeansofyouranswerman...:)"
DETERMINATIONLEVELINCREASED"
Reply... UpvoteDownvoteShareReport12Nov,2013
ShaileshKumar
HowaboutchoosingPythonastheprogramminglanguageofchoiceinsteadof
C++?
Reply... UpvoteDownvoteShareReport9Oct,2014
MichalDanilk
Generallyisnotrecommended.Butforspecifictasks,itwouldbegood
choice.Forexample,ifyouneedtoworkwithbigintegers.
ThemainproblemisthespeedofPython.Inmanysituations,youwould
notevenbeabletoreadtheinputdata,becauseoftheslowness.Other
times,simplythealgorithmwouldnotrunintime.

http://www.quora.com/HowshouldIpracticesothatIwillbeatalevelwhereIcanapproachTopCodersDiv1500problemswithconfidence

2/9

5/21/2015

(2)HowshouldIpracticesothatIwillbeatalevelwhereIcanapproachTopCoder'sDiv1500problemswithconfidence?Quora
Reply... UpvoteDownvoteShareReport9Oct,2014
ShashankSingh
IsTopcoderarightchoiceforacompletebeginnerlikeme(Whomostprobably
hassomeproblemsolvingskillsbuthasneverparticipatedinanyprogramming
contest)orshouldIstartwithsomethingsimplerthenTopcoder?
Reply... UpvoteDownvoteShareReport18Dec
TalasilaDeepak
"ifagameisplayeditisnim"Whatisnim?
Reply... UpvoteDownvoteShareReport13Oct,2013
MichalDanilk1votebyBhavikDhandhalya
http://en.wikipedia.org/wiki/Nim
Reply... UpvoteDownvoteShareReport14Oct,2013
OscarBralo
GreatanswerDude!)Keepyourgoodwork!
Reply... UpvoteDownvoteShareReport20May,2013
AbhishekDhawan
ThanksMichal
ineedoneadvise,
iamfromasmallcollegeinIndiaandwefacedifficultyeveningettinginterview
callfromsmallcompanies,ihave1.5yearworkexperienceastesterinsmallfirm
ifibecomeyellow/redontopcoder,doesitguaranteestogetinterviewcallsfrom
bigcompanies
Reply... UpvoteDownvoteShareReport21Apr
AbhishekDhawan
ThanksMichal
ineedoneadvise,
iamfromasmallcollegeinIndiaandwefacedifficultyeveningettinginterview
callfromsmallcompanies,ihave1.5yearworkexperienceastesterinsmallfirm
ifibecomeyellow/redontopcoder,doesitguaranteestogetinterviewcallsfrom
bigcompanies
Reply... UpvoteDownvoteShareReport21Apr
MichalDanilk2votes(show)
Unfortunatelymostcompaniesdon'ttaketopcoderratingintoaccount.So
thatfactalonewillnotguaranteetheinterview.But...bythetimeyouwillbe
yellow/redcoder,youwillbegoodandconfidentenoughtotakeanyjobyou
want.Itisnotratingwhatcounts.Itiswhatisinyouthatcounts.
Reply... UpvoteDownvoteShareReport21Apr
AbhishekDhawan
ThanksMichal,
whatireallygetconfusedaboutishowtogetnoticedbythese
companies,
afterbeingbeinggoodatcompetitiveprogrammingandmakingopen
sourcecontributions,willsimplyapplyingtothesecompaniessuffice
togetaninterview
Reply... UpvoteDownvoteShareReport21Apr
MichalDanilk1votebyAbhishekDhawan
Prettymuch,yes.Ihaveaninboxfullofoffers,mostlycoming
frommyactivitiesonQuora,GithubandTC/CF.Theotherway
togetnoticedisthroughthepeoplethatyouknow.Onceagain,
thesearemostlythepeoplethatIcommunicatewithonQuora,
GithubandTC/CF.
Reply... UpvoteDownvoteShareReport21Apr
AbhishekDhawan
wow,ican'tthankyouenough,thisreallyhelpedmealot,
nowiammorepositiveandhopefultowardmypreparation
:)
Reply... UpvoteDownvoteShareReport21Apr
SeshagiriRao
greatadvice.,reallyaspiring...
Reply... UpvoteDownvoteShareReport6Sep,2014
FarhadDalirani
whatmeans?:"ifagameisplayed,itisanim"
Reply... UpvoteDownvoteShareReport24Jun,2014

http://www.quora.com/HowshouldIpracticesothatIwillbeatalevelwhereIcanapproachTopCodersDiv1500problemswithconfidence

3/9

5/21/2015

(2)HowshouldIpracticesothatIwillbeatalevelwhereIcanapproachTopCoder'sDiv1500problemswithconfidence?Quora
MichalDanilk1votebyFarhadDalirani
Forgametheorytutorialsee:AlgorithmGames
Reply... UpvoteDownvoteShareReport24Jun,2014
VarunSharma
FullyAgreewithMichal.Andyesit'sveryveryimportanttoreadcodesof
red/yellowcodersbecausethereisalottolearnfromit.Sometimestheydo
thingsin2linesinsteadof20likeme:)
Reply... UpvoteDownvoteShareReport18Mar,2014
BillyBob
Hello,Iapologizeforthelatereplytoyourpost,Ijusthaveaquestion.Regarding
yourthirdtolastbulletpoint,whereweretheproblemsandsolutionsyouread?Is
thereabookofacollectionofthem?I'minterestingindoingthesame.
Reply... UpvoteDownvoteShareReportTue
MichalDanilk
ThoseweretheproblemsfromSlovaknationalolympiad.Therearen't
englishtranslations,soIwouldrecommendtousepastproblemsfrom
TopCoderorCodeforces.
Reply... UpvoteDownvoteShareReportTue
BillyBob
Okay,thanks!
Reply... UpvoteDownvoteShareReportTue

NikhilGarg,ACMICPCWorldFinalist(2011,2012)
1.7kupvotesbyAlonAmit,SanjaySabnani,NishantTotla,(more)

Impatienceisavice,youngJedi.Let'stakeitslow,shallwe?
Firstthing,learnhowtowriteahelloworldprogram.Thisistheeasiest
part.
Thenstartsolvingdiv2easylevelproblems(250pointsusually).Theyonly
testifyoucantranslatethesimplestoftheideasincodeornot.Unlessyou
cansolveanysuchprobleminscore>=240onanygivenday,youjust
can'ttranslateyourideasintocode.Keeppracticing.
Nowyouknowhowtocodealittle.Timetolearnsomealgorithms.Read
Topcodertutorialsthey'reanexcellentresourcesolveallproblems
linked.Readtopcoderforumsandgetusedtotheecosystem.Studysome
basicalgorithmtechniqueslikeDynamicProgramminganddivideand
conquer.StudyGraphTheory,someCombinatoricsandsomeNumber
Theorytoo,allthiswhilesolvingproblemsonTopcoderandelsewhere.You
canfindalltheknowledgeoninterneteasily.
Ifyou'vereachedthisstage,youknowhowtowritecodeandyouknow
enoughofbasicalgorithmtheory.Topcoderdiv1500problemsareoften
verytricky,beforeyoustartsolvingthem,youshouldbeabletosolvediv2
250,500,1000anddiv1250pointproblems.
Makesureyoucodeeverything.Solvingaproblemtheoreticallyisniceand
coolbutdon'tstopthere,codeitandmakesureitpassessystemtest.
Onceitdoes,removeallthecodeandstartfromscratch.Rewriteallcode.
Getitrightinfirstgo.Seehowmuchyourtimeimproves.
Startreadingcodesofallthetopguyswhichbasicallymeansallredsand
targetsandseveralyellowstoo.Theseguysaresmartandthereisplenty
youcanlearnfromtheircode.
Gothrougheditorialofeachproblemthatyousolve(orcan'tsolve).They
oftencomewithgreatinsightsandalternativesolutionsetc.
Don'tgetusedtosolvingeasyproblems.It'sacommonpitfall.Alwayssolve
problemstougherthanwhatyoucansolvethatishowyoulearn.
Andwhenyou'vebeendoingallthisforawhile,you'reready.Soonyou'dfind
you'resolvingmoreandmorediv1500pointerproblems.Practiceisthekey
fromnowon.
Whatwe(myICPCteam)didinparticularwasmaintainedaspreadsheetof
ourTopcoderpracticerecord.Wedecidedtododiv1500pointersofall
matchesfrom300onwards.Soonceyoustartamatch,makesuretofinishits

http://www.quora.com/HowshouldIpracticesothatIwillbeatalevelwhereIcanapproachTopCodersDiv1500problemswithconfidence

4/9

5/21/2015

(2)HowshouldIpracticesothatIwillbeatalevelwhereIcanapproachTopCoder'sDiv1500problemswithconfidence?Quora
problem,evenifyou'vetoseeeditorialafterstrugglingforhours.Bepersistent
anddon'tgiveup.
Howlongdoyoutakebeforeyouachieveyourgoalandhowmuchtimeyou
mustputin,thesearehighlysubjectivequestionswithnodefiniteanswer.Itall
variesonyourspeedandabilitytograsp.Iknowitsoundsclichebutbelieveme
thisistheonlycorrectanswer.
GoodluckyoungJedi,maytheforcebewithyou!
PS:YoumightalsobeinterestedinPradeepGeorgeMathias'answertoWhat
isneededtobecomegoodalgorithmistliketoprankersinTopcoder/Spoj/GCJ?
Updated9Nov,2012.86,409views.AskedtoanswerbySimranjitKohliandSherjilOzair.

Upvote 1.7k

Downvote Comments 10+

Share 42

Addacomment...

Comment

ApoorvGupta10votes(show)
IfyoufaceanydifficultyinreadingacodeinC(becauseituses#definesetc),
youcanrunthelinuxcommandcpponitfirst:
$cppcode.c
Thiswilloutputtheprograminit'sfullform,afterexpandingallmacrosand
includedlibraries.Therealcodeisinthebottomfewlinesofthisoutput.
Reply... UpvoteDownvoteShareReport16Jun,2012
XianhangZhang7votes(show)
Idisagreeslightlyonreadingthetopguys'code.Often,thetoppeoplehaveall
sortsoftrickstomakecodefastertowriteattheexpenseofreadability.Reading
codefromlessaccomplishedpeoplecansometimesbeeasier,untilyougetto
thepointwhereyoucanfluentlyread"topcoderstyle".
Reply... UpvoteDownvoteShareReport26May,2012
PradeepGeorgeMathias3votes(show)
imho,Well,thetoppeoplewritecodethatsbugfree.Andthereallytop
peoplewritecodethatsevenreadable.
Reply... UpvoteDownvoteShareReport26May,2012
ChandanSingh
Pradeep,didyouguysusetoreadothers'codeswhenyouwere
beginning(obviouslythatmustbealongtimeago!!)anddiditreally
helpalot??
Thanx!
Reply... UpvoteDownvoteShareReport17Oct,2012
JatinShridhar
HowcanIreadsomeoneelse'scode?Forexampleananswerherementions
readingSnapDragon'scode,so,howcanIfindhiscodeorsomeoneelse'scode?
Reply... UpvoteDownvoteShareReport27Jun,2012
NikhilGarg
Youcanfindeveryone'scodeinpracticeroomsinarena.
Reply... UpvoteDownvoteShareReport27Jun,2012
ChandanSingh
well,IaskedthisquestiontoPradeeptoo,butanyways...
didyouguysusetoreadothers'codeswhenyouwerebeginning
(obviouslythatmustbealongtimeago!!)anddiditreallyhelpalot??
Thanx!
Reply... UpvoteDownvoteShareReport17Oct,2012
BhushanNagaonkar
Iknowwhatyouaretalkingabout.Forabeginneritsdifficultto
understandexpert'scodewhouseswhatnotskillsinbinaryor
somethinglikethatleavingconventionalapproach:(
Reply... UpvoteDownvoteShareReport26Oct,2012
JatinShridhar
Icanseeother'scodesunderthesummarysectioninarena...butwhat
ifIwantaparticularuser'scode?Isthereaneasierwaythanbrowsing
allnames?
Reply... UpvoteDownvoteShareReport27Jun,2012
NikhilGarg
Sortallrowsinalphabeticalorderingofhandlename?

http://www.quora.com/HowshouldIpracticesothatIwillbeatalevelwhereIcanapproachTopCodersDiv1500problemswithconfidence

5/9

5/21/2015

(2)HowshouldIpracticesothatIwillbeatalevelwhereIcanapproachTopCoder'sDiv1500problemswithconfidence?Quora
Reply... UpvoteDownvoteShareReport28Jun,2012
AkshayYadav
Upvotefor"Impatienceisavice,youngJedi.Let'stakeitslow,shallwe?"
Reply... UpvoteDownvoteShareReport9Apr
KaushikWavhal
"Unlessyoucansolveanysuchprobleminscore>=240onanygivenday,you
justcan'ttranslateyourideasintocode."
Howcanthatjustifyone'sinabilitytotranslateideasintocodeasthescoreis
dependentonhowfastyousolvetheproblemandnotthatyou'veactuallypassed
allthetestcases?
Reply... UpvoteDownvoteShareReport27Aug,2014
MayankKataria
TeamProof!\m/
Reply... UpvoteDownvoteShareReport10Apr,2013
PalashVerma
Youdidn'tconsiderthetimetolearnaprogramminglanguage.Why'sthatso?It
takesalotoftimetomasteralanguagetoo(foranovice),apartfromjustthe
algorithms.
Reply... UpvoteDownvoteShareReport11Dec
AbhishekDhawan
HiNikhil
ineedyouhelp,
Iamfromasmallcollegeandwefacedifficultyeveningettinginterviewcall
fromsmallcompanies,Ihave1.5yearworkexperienceastesterinsmallfirm(its
sameworkeverydayandifeelicantryforabetterjob)
ifibecomeyellow/redontopcoder,doesitguaranteestogetinterviewcallsfrom
bigcompanies
Reply... UpvoteDownvoteShareReport21Apr
AnthonyRoss
Couldyoupleasesharethespreadsheetyou'veusedtoprogressthorugh
Topcoderproblems?Orjustdescribethedetailsofhowyoukeeptrackofthe
problems.
Reply... UpvoteDownvoteShareReport1Oct,2012
NikhilGarg8votes(show)
Attachedisascreenshot.

Reply... UpvoteDownvoteShareReport1Oct,2012
AnthonyRoss
Thankyou!
Reply... UpvoteDownvoteShareReport1Oct,2012
FaisalKhan
Greatadviseandgoodanswer.
Reply... UpvoteDownvoteShareReport26May,2012

MaynardHandley
94upvotesbyChandanBoruah,RizwanHudda,JessicaSu,(more)

TimothyFerrismaydisagree,butthebulkofexpertsbelievethatthe10,000hr
rulemakessensetobecomeanexpertinsomethingrequires10,000hrsof
practice3hrsaday,everyday,for10years.
Oneoftheunresolvedandundiagnosedproblemsofourtime(IMHO),a

http://www.quora.com/HowshouldIpracticesothatIwillbeatalevelwhereIcanapproachTopCodersDiv1500problemswithconfidence

6/9

5/21/2015

(2)HowshouldIpracticesothatIwillbeatalevelwhereIcanapproachTopCoder'sDiv1500problemswithconfidence?Quora
problemspecificallyafflictingthesmartandambitious,isthattherearenowso
manythingstodowithabrainthatnoonecanbeinvolvedinanythingbutthe
smallestfractionofthem.Whichmeansonehastomakechoicesstartingearly,
andthroughoutoneslife.
Sowhat'syourgoalhere?Isthegoaltobecomeaprogrammer,asajob,andto
doagoodjobbuttoalsohaveapersonallife,andtimetolearnabout
everythingelseintheworldhistory,biology,noncomputertechnology,etc?
Ifso,berealisticyou'renotgoingtobeinapositiontolearnallthe
background,gainalltheexperience,thatallowsyoutocompetewiththevery
bestprogrammersintheworld.Youwouldn'texpecttobeabletoeven
completea100Kraceifyou'reanamateurrunnerwhooccasionallyrunsa
mile.
There'snoshameinthis.WhenIwasyounger,Ihadambitionsoflearning
everything.Butastimehaspassed,I'vehadtosettleforstudyingonefield
intensivelyandonlyacquiringasuperficialknowledgeofotherfields.Youcan
beausefulcitizenwithafulllifebybecomingagoodprogrammerinsomefield
(Idon'tknowcodecs,networks,numerics,compilers,whatever)withoutthe
extremebreadthofexpertise,andobsessionwithacertainwayof
programming,thatcharacterizessolvingthesesortsofproblems.
Alternatively,ifyouaredeterminedthatyou'regoingtorisetothetop,you're
notjustgoingtobeacommercialprogrammer,you'regoingtobeaname
brandprogrammerwell,areyouableandwillingtoputin10,000hrs,and
tosacrificeyourinterestinmostothersubjects?
Youcanbehappyeitherway.Butyou'reunlikelytobehappyifyouenvisage
yourselfinonecamp,whileactuallylivingalifeintheothercamp.
Updated4Jun,2012.15,584views.

Upvote 94

Downvote Comment Share

JustenRobertson,FreelanceDeveloper
19upvotesbyJessicaSu,HaritHimanshu,RobertHahl,(more)

Search

PersonallyIthinkthebestwaytolearnprogrammingistostartwritingthe
kindofcodeyouwanttowrite,whetherthat'svideogames,webservices,utility
software,hardwarehacking,solvingobscureproblemsonacompetitive
2
Home
Write
Notifications
website,orwhathaveyou.Ifyouareinterestedinthesubjectyourbrainis
goingtobealive,awakeandeagertolearn.Ifyou'reconvincedyou'redoing
choresforfutureprofit,yourbrainwilltakeyourwordforitandtoss
everythingyou'repushingyourselftolearninthewastebasket.

Krutarth

AddQuestion

Onceyou'vesetdownapaththatyou'reactuallyinterestedinyour
developmentwillbegreatlyaccelerated,andifyouhavearealpassionforit
youmightknockoutyour10,000hoursprettyearly.You'llalsofindyourself
expandingyourhorizonsinordertobetterunderstandorimplementsome
nuanceortangenttoyourcoreinterest.
TLDR:don'tdothingsyouthinkyou*must*doinordertoimproveyour
abilities,butthatyou'renotgenuinelyinterestedin.TheROIisextremelylow.
Written31May,2012.7,572views.

Upvote 19

Downvote Comments 2

Share 1

AbhishekA.Singh,Iamafighter
3upvotesbyVarunSharma,AshwiniSharnagat,andShaBeer.

Iamalsooneoftherookie.Butmystrategyisnowthatiamgatheringas
muchinformationforthealgorithmsandthecontentrelatedtoit.Secondly,
howothersareworkingorhaveimproved.
Anotherstepihavetakenthatratherthanusingenthusiasmbreakerwebsite
liketopcoderorspoj.Ihavefocusedrightnowoncodecheff,techinterview,
careercup,codeforce,ProjectEuler.Ifounditlittlebitworkable.
Last,whichithinkisimportantthatdon'tbepanicabout"Idon'tknoworI
amnotgettingthelogic".Itisprettyobvious.Sofocusonthosewhichyoucan
doandseriouslyaftersometimeuwillbefollowedbyothersnotbeany
follower.

http://www.quora.com/HowshouldIpracticesothatIwillbeatalevelwhereIcanapproachTopCodersDiv1500problemswithconfidence

7/9

5/21/2015

(2)HowshouldIpracticesothatIwillbeatalevelwhereIcanapproachTopCoder'sDiv1500problemswithconfidence?Quora

Written8Feb,2013.3,901views.

Upvote

Downvote Comment Share

ManishKumar,..
13upvotesbyGourabMitra,SouptikSen,GouravRoy,(more)

Competitiveprogrammingrequiresbothproblemsolving(application)skill
andknowledgeofalgorithms.
Disclaimer:Itrequiresalotofpatiencetodoso.Andatleastoneyearforan
aboveaveragebrain.
[whatshouldyou/Ido]
1.Beginwithlearningandimplementingnewalgorithms.Useanygoodbook
youwish(maybeCLRS)andvarioustutorialsontopcoder.Practicingabiton
OJswillhelp.
2.Thentrytosolvediv1500inpracticeroom.Ifyoucansolvethemthenitis
wellandgoodotherwisetrytofollowtheeditorial.Nowifyouunderstandthe
editorial(withoutmuchproblem)thatmeansyouhavethealgorithmic
knowledge,youjustneedtopracticemoretoenhanceyourproblemsolving
skill.Sopracticetoacquirethatskill.Andifdon'tunderstandtheeditorial
easily,thenyouneedtolearnthosealgorithmsfirst(algorithmsusedare
generallymentionedthere).Andasyouwillpracticemorenmore,youwillbe
abletoguesstheproblemtypefasterandfasterandthereisnotlimittoit.
(AndthenyouwillreachthestateoftouristorPetrwhenyouronlybottleneck
isyourtypingspeed.:P)
[btwnumberofhoursyouneeddependsonhowfastyouwanttoachieveyour
goalandhowfastcanyoulearn]
Written23May,2012.13,361views.

Upvote 13

Downvote Comment Share

SergueiFilimonov,Solvedall3div2problemsonacoupl...(more)
11upvotesbyKarthikSharma,KamalGaur,NairoXev,(more)

Onebasicandsimpletrickthatworkedformeatonepointwas:
1.Createaspreadsheetofpracticeproblemsavailable
2.Tryarandomeasyproblemandrecordtheoutcomeinthesheet
(success/fail)
Ifyousucceed:
trymoreproblemsandifyousucceed5080%ofthetimeonsamelevel,up
theproblemdifficulty(roughly,div1250=div2500,div1500=div21000)
ifyoufail:
readthesolution(explanationifavailable,passingcodeotherwise)and
attemptthesameproblemafterawhile(soyouroughlyforgetthesolution,but
remembertheprinciple)
3.rinseandrepeat
Pluswhatotheranswerssuggested.
Written31May,2012.7,598views.

Upvote 11

Downvote Comment Share

DafyddHarries
14upvotesbyRobertHahl,MaynardHandley,AnirudhDattatri,(more)

PeterNorvig'sLearnProgrammingin10Yearsseemsapplicable:
http://norvig.com/21days.html
Written31May,2012.5,177views.

Upvote 14

Downvote Comment 1

Share

RobertisTongbram,SoftwareEngineer
7upvotesbyWangHanmo,SubhadeepMaji,VarunSharma,(more)

Forme,thebestresourcewasStevenSkiena'sbookProgrammingChallenges
(http://www.amazon.com/Programmin... ).Acourseindiscretemathhelps.
ConcreteMathbyKnuthisoneofmyfavorites(http://www.amazon.com/Co
ncreteM... ).
Written31May,2012.5,733views.

Upvote

Downvote Comment Share

http://www.quora.com/HowshouldIpracticesothatIwillbeatalevelwhereIcanapproachTopCodersDiv1500problemswithconfidence

8/9

5/21/2015

(2)HowshouldIpracticesothatIwillbeatalevelwhereIcanapproachTopCoder'sDiv1500problemswithconfidence?Quora
KonstantineMuradov,SoftwareEngineer
7upvotesbyLadNeerajR,VirajShah,MohamedElSharnoby,(more)

IagreewithMr.Garg.ButalsoIthinkitwouldbeusefultopracticeon
HackerRank ithascategoriesandcomplexity(easymediumandhard).Its
morecomplexthantopcoderandalsohascompetitions.Afterpracticingeach
categoryonhackerrank(solvingmediumlevelproblems)isthinkyouwould
solveTC'sdiv!500problemswithconfidence.
Written18Mar.1,056views.

Upvote

Downvote Comments 1+

Share

MohammadAliFatehiZadeh,CompetitiveProgrammer
4upvotesbyHaritHimanshu,HemaChandra,VishnuJayavel,(more)

hackerrankisalsousefulforbeginnersbecauseithasmadesomecategorys
suchasStrings,dynamicprogramminggeometry...soyoudon'thavetospend
timeforchoosingthecorrectalgorithm
andalsoyoucanhavethetestcasesofyourproblems
Written7Mar.949views.

Upvote

Downvote Comment Share

Anonymous
4upvotesbyAnkitaSinha,AnkurGoyal,ShiqiangYu,(more)

Practiceistheonlykeytosuccessinalgorithms,Therearelotofgoodwebsites
availableforpracticeonline,IfoundthisoneveryattractiveAlgolint itsthe
mostsimpletooltopracticecoding,alsoyoucansaveyourcodeastemplateso
thatyoucanhavebasecodereadyallthetimewhenyouaretryingforsimilar
problem.
Written2Sep,2014.2,074views.

Upvote

Downvote Comments 2+

Share

TopStoriesfromYourFeed
ShreyansShethupvotedthisanswerfrom2013

AhmadAlkhawaja

ArjunSNathand3more

12May

upvotedthisSun

Whydopeoplequestionor
answeranonymouslyonQuora?

Parenting:HowdoIexplaintomy
sixyearoldsonthatzombies
don'texist?

Anonymous
20.6kupvotesbyJessicaSu,Phil
Darnowsky,ArturoDeza,(more)

Giveamanamaskandhewilltellyouthe
truth.
OscarWilde
Written19Mar,2013.308,847views.

ReadInFeed

DanTynan,Iamone.
1.2kupvotesbySamyakDatta,Tushar
Makkar,JosephHeavner,(more)

Buttheydoexist.Anyonewhoisaparentof
a6yearold(oryounger)isbydefinitiona
zombie.Sojusttellhimzombiesare
mommiesanddaddieswhoarejust
dangerouslysleepdeprivedandotherw...

ReadInFeed

BrianBiwrotethis9May

WillGooglebothermewithCstyle
programmingforC++position?
BrianBi,softwareengineeratGoogle
212upvotesbyJeremyHoffman(Google
softwareengineer(searchquality)),DimaKorolev,
AnuragGhosh,(more)

Yourinterviewershouldn'tforceyoutonot
useC++11.Thatbeingsaid,theymaywell
askyouhowyoumightimplement
somethingthatexistsinthestandardlibrary,
likeremovinganodefromadoub...

ReadInFeed

http://www.quora.com/HowshouldIpracticesothatIwillbeatalevelwhereIcanapproachTopCodersDiv1500problemswithconfidence

9/9