Yuav ua li cas kuv yeej 3 tawm ntawm 4 kub medals ntawm lub Computer Olympiad

Yuav ua li cas kuv yeej 3 tawm ntawm 4 kub medals ntawm lub Computer Olympiad

Kuv tab tom npaj rau Google HashCode World Championship Finals 2017. Qhov no yog qhov kev sib tw loj tshaj plaws nrog cov teeb meem algorithmic tsim los ntawm Google.

Kuv pib kawm C++ los ntawm kos hauv qib cuaj. Kuv tsis paub dab tsi txog programming, algorithms lossis cov qauv ntaub ntawv. Qee lub sij hawm kuv tau sau kuv thawj kab ntawm code. Xya lub hlis tom qab, qhov kev sib tw programming loomed ntawm lub qab ntug. Kuv xav pom tias kuv txoj kev kawm kev kawm ua haujlwm tau zoo npaum li cas. Nws yog lub sijhawm zoo kawg nkaus.

Tom qab ob hnub ntawm kev sib tw, cov txiaj ntsig tau tuaj: Kuv yeej tau txais txiaj ntsig kub.

Kuv xav tsis thoob. Kuv tau ua ntej ntawm cov neeg sib tw nrog 5 xyoo kev paub. Kuv paub tias kuv tau ua haujlwm hnyav, tab sis qhov kev ua tiav no tau dhau tag nrho kuv qhov kev cia siab. Kuv pom tau hais tias kev ua kis las yog kuv lub ntsiab lus thiab nquab mus rau hauv nws lub taub hau ntev.

Kuv paub dab tsi coj kuv mus rau kev vam meej thiab kuv xav qhia rau koj.

Yuav ua li cas kuv yeej 3 tawm ntawm 4 kub medals ntawm lub Computer Olympiad

Tsab ntawv tau muab txhais nrog kev txhawb nqa ntawm EDISON Software, uas saib xyuas kev noj qab haus huv ntawm programmers thiab lawv noj tshaisThiab tsim kev cai software.

Yam lus programming xaiv

  • C++ - Xav kom zoo heev! Nws ceev heev. Kev siv cov algorithms yuav siv sij hawm me ntsis vim STL. C ++ raug lees txais hauv txhua qhov kev sib tw. Kuv sau kuv thawj kab code hauv C ++.
  • C - Kawm C ++ vim yog STL. Yog tias koj paub C, koj tuaj yeem ua haujlwm hauv C ++.
  • Java yog ib hom lus qeeb programming. Nws muaj chav Integer loj, tab sis nws yuav tsis pab koj ntau. Yog tias kev sib tw muaj lub sijhawm txwv, nrog Java koj yuav muaj tseeb tshaj nws. Java tsis raug lees txais ntawm txhua qhov kev sib tw.

Koj tuaj yeem xyaum qhov twg

Kuv xav Sphere Online Judge (SPOJ). Nws yog ib qho khoom siv zoo nyob rau hauv cov nqe lus ntawm qhov ntau thiab zoo. Cov kws kho thiab cov kev daws teeb meem muaj nyob online yog tias koj tau daig hauv cov txheej txheem ntawm kev daws teeb meem. Ntxiv rau qhov chaw no kuv pom zoo SPOJ Toolkit и teeb meem classifier for SPOJ.pl.

Ua ntej, koj yuav tsum ua tib zoo saib xyuas koj cov kev paub ntawm cov hauv paus

Thaum koj tau siv rau cov syntax ntawm cov lus, muaj qee qhov teeb meem los daws. Pib nrog cov teeb meem yooj yim uas yuav tsum tau xyaum. Nyob rau theem no, qhov tseem ceeb tshaj plaws yog los txiav txim siab koj qhov programming style. Tej zaum koj nyiam sau code nrog ntau qhov chaw dawb, tej zaum koj tsis ua. Koj tuaj yeem muab cov kab lus ntawm tib kab li "yog", lossis koj tuaj yeem muab tso rau ntawm cov kab sib cais.

Koj yuav tsum nrhiav koj qhov programming style vim nws yog koj qhov style.

Thaum koj nrhiav nws, nco ntsoov ob lub hauv paus ntsiab lus:

  • Koj cov cai yuav tsum yooj yim rau kev siv. Koj yuav tsum tau ua tib zoo siv qhov kev daws teeb meem uas koj tuaj nrog. Vim li cas? Vim tias thaum muaj kev sib tw, qhov kawg uas koj xav tau yog kom poob hauv koj cov cai. Nws yog ib txwm zoo dua los siv 5 feeb ntxiv los xav txog yuav ua li cas kom yooj yim rau kev siv cov cai tshaj li siv 10 feeb sim kom paub meej.
  • Koj cov cai yuav tsum yooj yim nyeem. Thaum code yooj yim nyeem, nws yooj yim rau kev debug. Cia peb fim nws- kab mob tshwm sim txhua lub sijhawm. Koj paub qhov kev xav ntawd thaum koj muaj 10 feeb thiab koj nrhiav tsis tau qhov yuam kev? Tau kawg koj ua. Txhawm rau zam qhov teeb meem no, sau cov cai uas tau raug cai. Thaum koj pib debugging nws, cov cai yuav zoo li ntuj thiab yooj yim to taub.

Nov yog ib qho piv txwv ntawm kuv programming style.

Yuav Ua Li Cas Txhim Kho Koj Cov Kev Txawj Ntse

Kev xyaum, xyaum thiab xyaum ua ntau yam. Kuv xav kom koj ua hauj lwm los ntawm thawj 250 feem ntau daws teeb meem ntawm SPOJ. daws lawv nyob rau hauv kev txiav txim. Siv sijhawm tsawg kawg ib teev los xav txog kev daws teeb meem rau lawv txhua tus.

Tsis txhob hais tias: "Qhov teeb meem no nyuaj heev rau kuv, kuv yuav sim daws qhov teeb meem tom ntej." Qhov no yog li cas losers xav.

Nqa ib daim ntawv thiab xaum. Xav txog nws. Tej zaum koj tuaj yeem nrhiav kev daws teeb meem, tej zaum tsis yog. Yam tsawg kawg, koj yuav tsim kev xav algorithmic. Yog tias koj tuaj yeem tsis tuaj yeem daws qhov kev daws teeb meem hauv ib teev, nrhiav kev daws teeb meem npaj rau ntawm lub rooj sab laj lossis hauv cov khoom.

Koj yuav ua tiav dab tsi nrog txoj hauv kev no? Kawm kom ceev nrooj siv koj cov tswv yim siv code. Thiab kawm cov teeb meem classical thiab algorithms.

Qhov thib ob, koj yuav tsum paub cov algorithms thiab cov qauv ntaub ntawv

Ua raws li txoj hauv kev hierarchical. Koj puas tau pib khiav tsis paub taug kev? Tsis muaj. Koj puas tuaj yeem tsim lub skyscraper yam tsis muaj lub hauv paus ruaj khov? Tsis yog dua.

Koj tsis tuaj yeem tsis quav ntsej cov kauj ruam raws txoj kev kawm. Yog tias koj tsis quav ntsej lawv, koj yuav raug tso tseg nrog kev paub tsis meej. Nyob rau lub sij hawm lawv tsuas yog zuj zus.

Pib nrog lub hauv paus algorithms thiab cov qauv ntaub ntawv

Nws nyuaj rau pib. Tej zaum vim koj tsis paub yuav kawm ua ntej. Yog vim li cas Kuv tsim cov chav kawm video "Algorithms thiab Cov Qauv Cov Ntaub Ntawv". Thaum tsim cov chav kawm no, kuv ua raws li qhov kuv xav qhia. Cov tshuaj tiv thaiv zoo kawg! Ntau tshaj 3000 tus tub ntxhais kawm los ntawm ntau dua 100 lub teb chaws tau kos npe rau chav kawm thawj lub hlis.

Yog tias koj ua haujlwm daws teeb meem yooj yim, koj yuav tsis txhim kho.

Txoj hauv kev zoo tshaj plaws kom nkag siab txog yam koj tsis paub yog kom paub txog nws hauv kev xyaum. Kuv kawm li ntawd. Kuv kawm ntau yam tshiab uas kuv tsis tau hnov ​​dua los ntawm kev xaiv txoj haujlwm nyuaj.

Txhua qhov teeb meem thib peb uas koj ua haujlwm yuav tsum qhia koj qee yam tshiab. Ceev faj ntxiv thaum xaiv cov teeb meem. Xaiv cov teeb meem nyuaj dua!

Thaum koj ua tiav 250 qhov teeb meem no los ntawm SPOJ, koj yuav muaj kev nkag siab yooj yim ntawm cov ntsiab lus tseem ceeb ntawm kev ua kis las. Nrog kev nkag siab tob txog cov laj thawj hauv qab cov txheej txheem algorithms, qib siab algorithms yuav zoo li tsis yooj yim. Txoj kev no koj tuaj yeem ua rau koj qhov kev paub ntau tshaj plaws.

Khawb tob rau hauv txhua lub ntsiab lus tseem ceeb

Ntawm no yog ib qho khoom muaj nqis nrog ntau cov ntaub ntawv. Nyob ntawd koj yuav pom 10 algorithms saum toj kawg nkaus thiab cov qauv ntaub ntawv rau txhua lub ncauj lus. Tom qab 250 teeb meem los ntawm SPOJ, koj yuav paub ntau yam los ntawm cov npe no. Tab sis koj kuj yuav dawm rau ntau yam uas koj tsis tau hnov ​​dua ua ntej. Yog li pib kawm cov ncauj lus no hauv kev nce qib.

Yog tias koj tsis ntxiv dag zog rau koj txoj kev paub tom qab kawm qee yam tshiab, koj yuav hnov ​​​​qab sai sai.
Kuv pom zoo tias tom qab koj kawm cov algorithm tshiab, siv nws hauv kev xyaum. Ua haujlwm nws los ntawm 2-3 txoj haujlwm. Nrhiav algorithm tag hauv SPOJ. Nyob ntawd koj yuav pom cov teeb meem uas xav tau no algorithm los daws. Hais txog cov teeb meem no ua ntej.

Master Dynamic Programming Vim Nws Yuav Coj Koj mus rau Kev yeej
Los ntawm kuv qhov kev paub dhau los, txhua qhov kev sib tw muaj tsawg kawg yog ib qho teeb meem dynamic programming. Ntau tus neeg mob taub hau thaum lawv hnov ​​cov kab lus "dynamic programming" vim lawv tsis nkag siab nws kiag li.

Thiab qhov no yog qhov zoo. Vim yog tias koj nkag siab qhov programming dynamic, ces koj yuav yeej.

Kuv nyiam dynamic programming, nws yog kuv lub ntsiab lus nyiam. Qhov zais cia ntawm kev ua haujlwm dynamic yog ua kom muaj kev xaiv zoo thoob ntiaj teb, tsis yog cov hauv zos xwb. Koj yuav tsum rhuav tshem qhov teeb meem mus rau hauv cov teeb meem yooj yim dua. daws txhua qhov teeb meem no ib zaug xwb. Tom qab ntawd tsim ib qho kev daws teeb meem uas muab cov teeb meem daws teeb meem. Greedy algorithm - qhov opposite ntawm dynamic programming. Nws yuav tsum tau xaiv qhov zoo tshaj plaws hauv zos ntawm txhua kauj ruam. Thiab qhov kev xaiv zoo tshaj plaws hauv zos tuaj yeem ua rau lub ntiaj teb tsis zoo.

Thaum kawm cov tswv yim tshiab, tshawb xyuas TopCoder tutorials. Lawv yog cov ncauj lus kom ntxaws heev thiab nkag siab. Ua tsaug rau lawv kuv tau nkag siab binary indexed ntoo.

Ua hauj lwm nyuaj

Koj puas tau hnov ​​​​txog cov neeg ncaws pob uas yeej Olympics yam tsis muaj kev xyaum? Kuv tsis.

Txhua xyoo, kev npaj rau Computer Olympiad pib thaum lub Cuaj Hli thiab xaus rau lub Plaub Hlis.

Txhua hnub rau 8 lub hlis no kuv tau xyaum 5 teev.

Thiab yog, kuv siv 5 teev no tsuas yog daws teeb meem algorithmic. Kuv nco qab cov hnub uas kuv xyaum 8 thiab 10 teev. Vim li cas? Vim kuv nyiam nws. Txhua txhua hnub thaum kuv rov qab los tsev los ntawm tsev kawm ntawv, kuv mus ncaj nraim mus rau chav pw, zaum ntawm lub computer thiab pib txheeb xyuas qhov teeb meem tshiab. Los yog kuv tab tom kawm cov algorithm tshiab uas kuv xav paub los daws qhov teeb meem no.

Yog koj xav yeej, koj yuav tsum ua tib yam. Xaiv qhov teeb meem thiab lo rau nws. Xav txog nws thaum taug kev mus rau lub tsev loj lossis thaum tsav tsheb.

Yuav ua li cas kuv yeej 3 tawm ntawm 4 kub medals ntawm lub Computer Olympiad

Koj puas paub tias thaum koj tsaug zog, koj lub hlwb defragments cov ntaub ntawv sau hnub ntawd? Nws zoo nkaus li tau muab cov phau ntawv nyob rau hauv cov ntawv sau rau ntawm lub txee. Qhov tseem ceeb, koj lub hlwb xav txog ntau yam teeb meem uas koj tab tom ntsib.

Qhov no tuaj yeem siv tau zoo. Ua ntej yuav mus pw, nyeem ib qho teeb meem nyuaj thiab nco ntsoov tias nws yuav siv li cas los daws nws. Nyob rau theem no, koj tsis tas yuav nrhiav kev daws nws tus kheej. Mus pw. Koj lub hlwb yuav pib ua cov teeb meem no. Thaum koj sawv los, koj yuav xav tsis thoob tias koj pom qhov kev daws teeb meem thaum koj tsaug zog.

Sim nws tus kheej. Nws zoo li khawv koob.

Kuv tsim ib qho video blog

Yuav ua li cas kuv yeej 3 tawm ntawm 4 kub medals ntawm lub Computer Olympiad

Cov kab lus luv luv no tsis hais txog kev ua kis las. Yog tias koj nyob hauv koj nees nkaum xyoo thiab xav tsis thoob li cas kuv pom lub ntiaj teb, koj yuav xav mus xyuas kuv cov video blog hauv Youtube. Kuv tham txog lub ntiaj teb no, lub neej thiab computer science nyob rau hauv nws.

Ua haujlwm ntse

Qhov no yog qhov zais cia ntawm kev vam meej. Koj xav tau cov hom phiaj.

Peb yog neeg thiab peb nyiam nws ncua sij hawm. Peb ib txwm xav muab qhov yuav tsum tau ua tam sim no. Saib Netflix yeej ib txwm muaj kev lom zem ntau dua li daws cov teeb meem kev ua haujlwm dynamic. Koj paub qhov no thiab koj yuav tsum kho nws.

Yuav ua li cas tuav procrastination

Teem koj tus kheej lub hom phiaj. Koj yuav pom cov teeb meem nthuav dav uas koj tuaj yeem kawm qee yam tshiab (saib cov peev txheej uas kuv tau hais saum toj no). Tab sis cov teeb meem no yuav tsum tau daws, tsis yog nyeem xwb.

Yog li ntawm no yog li cas kuv kov yeej kev ncua sij hawm. Kuv pib daim ntawv qhia hnub hli thiab sau txhua hnub nrog cov teeb meem uas kuv xav daws. Kuv ib txwm sau cov teeb meem ob hnub ua ntej. Yog li kuv paub yuav ua li cas tswj kuv lub sijhawm nyob rau hnub tom ntej.

Yuav ua li cas kuv yeej 3 tawm ntawm 4 kub medals ntawm lub Computer Olympiad

Yog li ntawd kuv yeej ib txwm mob siab rau. Kuv yuav tsum tau daws qee qhov teeb meem thiab nrhiav cov tshiab los sau cov hnub tom ntej ntawm daim ntawv qhia hnub. Hla kev daws teeb meem zoo li zoo. Kuv paub tias koj nyiam thiab.

Tau koj tus kheej daim ntawv qhia hnub. Tsis txhob tsim lwm cov npe uas yuav tsum tau ua hauv koj lub xov tooj uas koj yuav hnov ​​​​qab txog tag kis.

Yuav ua li cas debug zoo

Koj puas xav ua tus kws tshaj lij? Yog tias muaj, koj yuav tsum "debug nws hauv koj lub siab."
Qhov no yog nyob deb ntawm cov txheej txheem debugging zoo tshaj plaws kuv paub vim tias nws tsis tas yuav muaj qhov debugger txhua. Koj lub hlwb tshuaj xyuas ntau cov ceg ntoo ib zaug thiab muab cov ntsiab lus dav dav rau koj piv rau classic debugger.

Koj tuaj yeem piv koj tus kheej mus rau tus thawj coj loj uas ua chess thiab xav tias 3 mus tom ntej.

Kuv siv cov txheej txheem no nkaus xwb raws li kuv thawj kab ntawm kev tiv thaiv. Tom qab ntawd kuv siv qhov debugger tiag tiag.

Txhawm rau kawm paub daws teeb meem hauv koj lub taub hau, koj yuav tsum xyaum. Thaum koj siv tau cov kev daws teeb meem rau ib qho teeb meem thiab tau txais "cov lus teb tsis raug", tsis txhob mus ncaj nraim rau lub pob debugger. Rov nyeem cov cai thiab xav tias: "Dab tsi tshwm sim hauv kab no?", "Yog tias" ntawm no cuam tshuam li cas rau qhov kev zov me nyuam?", "Thaum peb tawm ntawm lub voj, tus nqi ntawm iterator yog dab tsi?"

Ua li no koj xav rau koj tus kheej. Thaum lub sij hawm, koj yuav kawm sau code thiab debug nws ntawm ya.

Txog tus sau

Yuav ua li cas kuv yeej 3 tawm ntawm 4 kub medals ntawm lub Computer Olympiad
Andrei Margeloiu yog ib tug nyiam programmer nrog kev txaus siab rau kev ua lag luam, kev pib ua lag luam, thiab sab nraum zoov. Koj tuaj yeem tiv tauj nws ntawm LinkedIn.

Txhais: Diana Sheremyeva

Tau qhov twg los: www.hab.com

Ntxiv ib saib