Ngiwine kanjani izindondo zegolide ezi-3 kwezi-4 ku-Computing Olympiad

Ngiwine kanjani izindondo zegolide ezi-3 kwezi-4 ku-Computing Olympiad

Bengilungiselela i-Google HashCode World Championship Finals 2017. Lona umncintiswano omkhulukazi onezinkinga ze-algorithmic ohlelwe yi-Google.

Ngiqale ukufunda i-C++ kusukela ekuqaleni ebangeni lesishiyagalolunye. Bengazi lutho mayelana nezinhlelo, ama-algorithms noma izakhiwo zedatha. Ngesinye isikhathi ngabhala umugqa wami wokuqala wekhodi. Ezinyangeni eziyisikhombisa kamuva, umncintiswano wezinhlelo wawusondela emkhathizwe. Bengifuna ukubona ukuthi isitayela sami sokufunda sisebenza kahle kangakanani. Bekuyithuba elihle.

Ngemva kwezinsuku ezimbili zokuncintisana, imiphumela yafika: Ngawina indondo yegolide.

Ngashaqeka. Bengingaphambi kwezimbangi ezinesipiliyoni seminyaka emi-5. Ngangazi ukuthi ngisebenze kanzima, kodwa le mpumelelo yadlula konke engangikulindele. Ngabona ukuthi ukuhlelwa kwezemidlalo kwakuyisihloko sami futhi ngangena ngaso sonke isikhathi.

Ngiyazi ukuthi yini eyangiholela empumelelweni futhi ngifuna ukwabelana nawe ngayo.

Ngiwine kanjani izindondo zegolide ezi-3 kwezi-4 ku-Computing Olympiad

I-athikili ihunyushwe ngosekelo lwe-EDISON Software, okuyiyona inakekela impilo yabahleli bohlelo kanye nesidlo sasekuseni saboFuthi ithuthukisa isoftware yangokwezifiso.

Iluphi ulimi lokuhlela ongalukhetha

  • C++ - Sincoma kakhulu! Uyashesha kakhulu. Ukusetshenziswa kwama-algorithms kuthatha isikhathi esincane ngenxa ye-STL. I-C++ yamukelwa kuyo yonke imiqhudelwano. Ngibhale umugqa wami wokuqala wekhodi ku-C++.
  • C - Funda i-C++ ngenxa ye-STL. Uma wazi u-C, ungaphinda uhlele ku-C++.
  • I-Java iwulimi lokuhlela olunensa. Inekilasi le-Big Integer, kodwa ngeke likusize kakhulu. Uma umncintiswano unomkhawulo wesikhathi, nge-Java ngokuqinisekile uzoweqa. I-Java ayamukelwa kuyo yonke imiqhudelwano.

Ungaprakthiza kuphi

Ngisikisela Ijaji eliku-inthanethi le-Sphere (SPOJ). Iwumthombo osebenzayo ngokwenani nekhwalithi. Abahleli nezisombululo kuyatholakala ku-inthanethi uma ubambeka ohlelweni lokuxazulula izinkinga. Ngaphezu kwalesi sayithi ngincoma Ikhithi yamathuluzi ye-SPOJ и isigaba senkinga se-SPOJ.pl.

Okokuqala, udinga ukucija ulwazi lwakho lwezisekelo

Uma usujwayele ukwakheka kolimi, kuba nezinkinga ezithile okufanele uzinqobe. Qala ngezinkinga ezilula ezidinga ukuzilolonga. Kulesi sigaba, into esemqoka ukucacisa isitayela sakho sohlelo. Mhlawumbe uyathanda ukubhala ikhodi enendawo emhlophe eningi, mhlawumbe awuthandi. Kungenzeka ukuthi ubeka abakaki emugqeni ofanayo nothi “uma”, noma ubeka imigqa ehlukene.

Kufanele uthole isitayela sakho sokuhlela ngoba YIsitayela SAKHO.

Uma uyifuna, khumbula izimiso ezimbili eziyisisekelo:

  • Ikhodi yakho kufanele ibe lula ukuyisebenzisa. Kufanele uzizwe ukhululekile ukusebenzisa isixazululo oza naso. Kungani? Ngoba ngesikhathi somncintiswano, into yokugcina oyifunayo ukulahleka kukhodi yakho. Kuhlale kungcono ukuchitha amaminithi angu-5 engeziwe ucabanga ngendlela yokwenza lula ukuqaliswa kwekhodi kunokuchitha imizuzu eyi-10 uzama ukuyiqonda.
  • Ikhodi yakho kufanele ifundeke kalula. Uma ikhodi ifundeka kalula, kulula ukuyisusa. Masibhekane nakho—izimbungulu zenzeka ngaso sonke isikhathi. Uyawazi lowo muzwa uma usalelwe yimizuzu eyi-10 futhi ungalitholi iphutha elikhulu? Yebo kunjalo. Ukuze ugweme lesi simo, bhala ikhodi efundekayo. Uma usuqalile ukuyisusa, ikhodi izobonakala ingokwemvelo futhi kulula ukuyiqonda.

Nasi isibonelo sami isitayela sokuhlela.

Ungawathuthukisa Kanjani Amakhono Akho Okuthuthukisa

Zijwayeze, zijwayeze futhi uzijwayeze okwengeziwe. Ngincoma ukuthi ubhekane nezinkinga zokuqala ezingama-250 ezingaxazululeka kakhulu kuzo I-SPOJ. Zixazulule ngokulandelana kwazo. Chitha okungenani ihora ucabanga ngesixazululo sazo zonke.

Ungasho ukuthi: "Le nkinga inzima kakhulu kimi, ngizozama ukuxazulula okulandelayo." Bacabanga kanjena abehlulwayo.

Thatha isiqeshana sephepha nepensela. Cabanga ngakho. Mhlawumbe ungathola isixazululo, mhlawumbe hhayi. Okungenani, uzothuthukisa ukucabanga kwe-algorithmic. Uma ungakwazi ukuqhamuka nesixazululo phakathi nehora, bheka isixazululo esenziwe ngomumo esithangamini noma kuma-athikili.

Yini ozoyizuza ngale ndlela? Funda ukwenza ngokushesha imibono yakho usebenzisa ikhodi. Futhi funda izinkinga zakudala nama-algorithms.

Okwesibili, kufanele wazi ama-algorithms nezakhiwo zedatha

Landela indlela ye-hierarchical. Uqale ukugijima ungazi ukuthi kuhamba kanjani? Cha. Ungakwazi yini ukwakha i-skyscraper ngaphandle kwesisekelo esiqinile? Ngeke futhi.

Awukwazi ukuziba izinyathelo endleleni yokufunda. Uma ungazinaki, uzosala nezikhala zolwazi. Ngokuhamba kwesikhathi zizoba zimbi kakhulu.

Qala ngama-algorithms ayisisekelo kanye nezakhiwo zedatha

Kunzima ukuqala. Mhlawumbe ngoba awazi ukuthi yini okufanele ufunde kuqala. Yingakho ke Ngidale isifundo sevidiyo “Ama-Algorithms kanye Nezakhiwo Zedatha”. Lapho ngidala lesi sifundo, ngisisekelwe endleleni engingathanda ukufundiswa ngayo. Ukusabela kwakungakholeki! Bangaphezu kuka-3000 abafundi abavela emazweni angaphezu kuka-100 ababhalisele lesi sifundo ngenyanga yokuqala.

Uma usebenza ekuxazululeni izinkinga ezilula, awusoze wathuthuka.

Indlela ephumelela kakhulu yokuqonda lokho ongakwazi ukukuthola ngokusebenza. Ngafunda kanjalo. Ngafunda amasu amaningi amasha engangingakaze ngizwe ngaphambili ngokukhetha umsebenzi oyinselele.

Yonke inkinga yesithathu osebenza kuyo kufanele ikufundise okuthile okusha. Qaphela kakhulu lapho ukhetha izinkinga. Khetha izinkinga ezinzima kakhulu!

Uma usuqedele lezi zinkinga ezingu-250 ezivela ku-SPOJ, uzoba nokuqonda okuyisisekelo kwezihloko eziyinhloko zokuhlelwa kwezemidlalo. Ngokuqonda okujulile komqondo ongemuva kwama-algorithms ayisisekelo, ama-algorithms ezinga eliphezulu azobonakala eyinkimbinkimbi kangako. Ngale ndlela ungalusebenzisa ngokugcwele ulwazi lwakho.

Gcoba ujule endikimbeni ngayinye eyinhloko

Nansi insiza ebalulekile ngolwazi oluningi. Lapho uzothola ama-algorithms angu-10 aphezulu kanye nezakhiwo zedatha zesihloko ngasinye. Ngemva kwezinkinga ezingu-250 ezivela ku-SPOJ, uzokwazi okuningi kulolu hlu. Kodwa futhi uzokhubeka ezintweni eziningi ongakaze uzizwe ngaphambili. Ngakho qala ukufunda lezi zihloko ngokwenyuka ngokulandelana.

Uma ungaqinisi ulwazi lwakho ngemva kokufunda okuthile okusha, uzokhohlwa ngokushesha yonke into.
Ngincoma ukuthi ngemuva kokufunda i-algorithm entsha, uyisebenzise ekusebenzeni. Sebenza ngemisebenzi engu-2-3. Bheka umaka we-algorithm ku-SPOJ. Lapho uzothola izinkinga ezidinga le algorithm ukuzixazulula. Bhekana nalezi zinkinga kuqala.

I-Master Dynamic Programming Ngoba Izokuholela Ekunqobeni
Ngokuhlangenwe nakho kwami, yonke imiqhudelwano inenkinga okungenani eyodwa ukuhlela ashukumisayo. Abantu abaningi baphathwa yikhanda uma bezwa inkulumo ethi “dynamic programming” ngoba abayiqondi nhlobo.

Futhi lokhu kuhle. Ngoba uma uqonda izinhlelo eziguquguqukayo, uzowina.

Ngiyathanda ukuhlela okuguquguqukayo, isihloko sami engisithandayo. Imfihlo yezinhlelo eziguquguqukayo ukwenza ukukhetha okuhle emhlabeni jikelele, hhayi nje okwasendaweni. Kufanele uhlukanise inkinga ibe yizinkinga ezincane ezilula. Rarulula ngayinye yalezi zinkinga ezincane kanye kuphela. Bese udala isisombululo esihlanganisa izinkinga ezincane ezixazululiwe. I-algorithm yokuhaha - okuphambene nezinhlelo eziguquguqukayo. Kudinga ukwenza izinqumo ezifanele endaweni esinyathelweni ngasinye. Futhi ukukhetha okuhle kwendawo kungaholela esixazululweni esibi somhlaba wonke.

Ngenkathi ufunda imiqondo emisha, bheka TopCoder okokufundisa. Inemininingwane eminingi futhi iyaqondakala. Ngiyabonga kubo ngakwazi ukuqonda izihlahla ezinenkomba kanambambili.

Sebenza kanzima

Wake wezwa ngabasubathi abawina ama-Olympics ngaphandle kweminyaka yokuzilolonga? Mina akunjalo.

Njalo ngonyaka, amalungiselelo e-Computer Olympiad aqala ngo-September futhi aphela ngo-April.

Nsuku zonke kulezi zinyanga eziyi-8 ngangizilolongela amahora ama-5.

Futhi yebo, ngisebenzise lawa mahora angu-5 kuphela ukuxazulula izinkinga ze-algorithmic. Ngikhumbula izinsuku lapho ngangizilolongela amahora angu-8 ngisho nayi-10. Kungani? Ngoba ngangikuthanda. Nsuku zonke lapho ngibuya esikoleni, ngangiqonda ekamelweni, ngihlale phansi kuyi-computer futhi ngiqale ukuhlaziya inkinga entsha. Noma bengifunda i-algorithm entsha ebengidinga ukuyazi ukuxazulula le nkinga.

Uma ufuna ukunqoba, kufanele wenze okufanayo. Khetha inkinga bese unamathela kuyo. Cabanga ngakho ngenkathi uya esitolo noma ngenkathi ushayela.

Ngiwine kanjani izindondo zegolide ezi-3 kwezi-4 ku-Computing Olympiad

Ubuwazi ukuthi lapho ulele, ubuchopho bakho buhlukanisa ulwazi oluqoqwe ngalolo suku? Ubonakala epakisha izincwadi ngokulandelana kwezinhlamvu eshalofini lezincwadi. Empeleni, ingqondo yakho icabanga ngezinkinga ezihlukahlukene obhekene nazo.

Lokhu kungasetshenziswa ngokuhlakanipha. Ngaphambi kokulala, funda inkinga enzima futhi ukhumbule ukuthi yini edingekayo ukuze uyixazulule. Kulesi sigaba, awudingi ukubheka ikhambi ngokwalo. Iya Embhedeni. Ubuchopho bakho buzoqala ukucubungula le nkinga. Lapho uvuka, uzomangala ukubona ukuthi ikhambi ulitholile ngenkathi ulele.

Zizame wena. Kufana nomlingo.

Ngidale ibhulogi yevidiyo

Ngiwine kanjani izindondo zegolide ezi-3 kwezi-4 ku-Computing Olympiad

Lesi sigaba esifushane asihlobene nezinhlelo zezemidlalo. Uma uneminyaka engamashumi amabili ubudala futhi uzibuza ukuthi ngiwubona kanjani umhlaba, ungase ufune ukuhlola ibhulogi yami yevidiyo ku-Youtube. Ngikhuluma ngomhlaba, impilo kanye nesayensi yekhompyutha kuwo.

Sebenza ngobuhlakani

Lena imfihlo yempumelelo. Udinga imigomo.

Singabantu futhi siyayithanda hlehlisa. Sihlale sifuna ukuhlehlisa okufanele kwenziwe njengamanje. Ukubuka iNetflix kuhlala kujabulisa kakhulu kunokubhekana nezinkinga zokuhlela eziguqukayo. Uyakwazi lokhu futhi udinga ukukulungisa.

Ungakunqoba kanjani ukuhlehlisa izinto

Zibekele imigomo. Uzothola izinkinga ezithakazelisayo lapho ungafunda khona okuthile okusha (bheka izinsiza engizishilo ngenhla). Kodwa lezi zinkinga zidinga ukuxazululwa, hhayi nje ukufunda ngazo.

Nansi-ke indlela engakunqoba ngayo ukuhlehlisa izinto. Ngaqala ikhalenda lephepha futhi usuku ngalunye ngagcwalisa izinkinga engangifuna ukuzixazulula. Ngangihlale ngigcwalisa izinkinga ezinsukwini ezimbili kusengaphambili. Ngakho ngangazi ukuthi ngingasiphatha kanjani isikhathi sami ezinsukwini ezilandelayo.

Ngiwine kanjani izindondo zegolide ezi-3 kwezi-4 ku-Computing Olympiad

Ngakho ngangihlale ngikhuthazekile. Kwakudingeka ngixazulule izinkinga ezithile futhi ngithole ezintsha ukuze ngigcwalise izinsuku ezilandelayo ekhalendeni. Ukweqa izinkinga ezixazululiwe kuzwakala kukuhle. Ngiyazi ukuthi nawe uyayithanda.

Zitholele elakho ikhalenda lephepha. Ungadali olunye uhlu lwezinto zokwenziwa ocingweni lwakho ozokhohlwa ngalo kusasa.

Ukulungisa kanjani iphutha ngokuphumelelayo

Ingabe ufuna ukuba uchwepheshe? Uma kunjalo, udinga "ukuyisusa iphutha engqondweni yakho."
Lokhu kuyindlela esebenza kahle kakhulu yokususa iphutha engiyaziyo ngoba ayidingi nhlobo isilungisi-maphutha. Ubuchopho bakho buhlola amagatsha ekhodi amaningi ngesikhathi esisodwa futhi bukunikeza ukubuka konke okubanzi kakhulu kwekhodi uma kuqhathaniswa i-debugger yakudala.

Ungaziqhathanisa nogogo odlala i-chess futhi ocabanga ukuya phambili oku-3.

Ngisebenzisa le nqubo njengomugqa wami wokuqala wokuzivikela. Bese ngisebenzisa i-debugger yangempela.

Ukuze ufunde ukulungisa iphutha ekhanda lakho, udinga ukuzijwayeza. Uma uqinisekisa isixazululo senkinga futhi uthola "impendulo engalungile", ungayi ngqo enkinobho yokususa iphutha. Phinda ufunde ikhodi bese ucabanga: “Kwenzekani kulo mugqa?”, “Ingabe elithi “uma” lapha liluthinta kanjani uhlelo?”, “Uma siphuma ku-loop, lingakanani inani le-iterator?”

Ngale ndlela uzicabangela wena. Ngokuhamba kwesikhathi, uzofunda ukubhala ikhodi futhi uyilungise ngokushesha.

Mayelana nomlobi

Ngiwine kanjani izindondo zegolide ezi-3 kwezi-4 ku-Computing Olympiad
U-Andrei Margeloiu ungumhleli wezinhlelo onentshisekelo kwezamabhizinisi, iziqalo, nangaphandle. Ungaxhumana naye ku-LinkedIn.

Ukuhumusha: Diana Sheremyeva

Source: www.habr.com

Engeza amazwana