Sida aan ugu guulaystey 3 ka mid ah 4tii biladood ee dahabka ah ee Olympiad Computing

Sida aan ugu guulaystey 3 ka mid ah 4tii biladood ee dahabka ah ee Olympiad Computing

Waxaan isku diyaarinayay Google HashCode World Championship Finals 2017. Kani waa tartanka ugu wayn ee leh dhibaatooyinka algorithm ee ay abaabulaan Google.

Waxaan bilaabay barashada C++ meel eber aniga oo ku jira fasalka sagaalaad. Waxba kama aan ogayn barnaamijka, algorithms ama qaabdhismeedka xogta. Mar baan qoray line-kaygii ugu horreeyay. Todoba bilood ka bacdi, tartankii barnaamijku waxa uu soo ifbaxay. Waxaan rabay inaan arko sida ugu wanaagsan ee qaabkayga barnaamij-waxbarasho uu u shaqeeyay. Waxay ahayd fursadda ugu habboon.

Laba maalmood oo tartan ah ka dib, natiijadu waxay soo baxday: Waxaan ku guuleystay bilada dahabka.

Waan naxay. Waxaan ka hor maray tartamayaasha leh 5 sano oo waayo-aragnimo ah. Waan ogaa inaan si adag u shaqeeyay, laakiin guushani waxay dhaaftay dhammaan filashooyinka. Waxaan xaqiiqsaday in barnaamijka ciyaaraha uu yahay mowduucaygii oo aan madaxayga u galay.

Waan ogahay waxa ii horseeday guusha waxaana rabaa inaan idinla wadaago.

Sida aan ugu guulaystey 3 ka mid ah 4tii biladood ee dahabka ah ee Olympiad Computing

Maqaalka waxaa lagu turjumay iyadoo ay taageerayaan EDISON Software, kaas oo waxa ay ilaalisaa caafimaadka barmaamijyada iyo quraacdoodaMarkaasay soo saara software gaar ah.

Luuqaddee barnaamijka lagu dooranayo

  • C++ - Aad ayaa loogu talinayaa! Aad buu u dheereeyaa. Hirgelinta algorithms waxay qaadataa waqti yar sababtoo ah STL. C++ waa la aqbalayaa tartamada oo dhan. Waxaan ku qoray safkaygii ugu horreeyay ee koodka C++.
  • C - Baro C++ sababtoo ah STL. Haddii aad taqaano C, waxaad sidoo kale ku baran kartaa C++.
  • Java waa luuqad barnaamijeed gaabis ah. Waxay leedahay fasalka Big Integer, laakiin wax badan kuuma caawin doono. Haddii tartanku leeyahay waqti xaddidan, Java-ga waxaad hubaal ahaan ka badan doontaa. Java lagama aqbalo tartamada oo dhan.

Halkee ku dhaqmi kartaa

Waxaan kula talin Garsooraha khadka tooska ah ee Sphere (SPOJ). Waa kheyraad wax ku ool ah xagga tirada iyo tayada. Tafatirayaasha iyo xalalka ayaa laga heli karaa khadka internetka haddii aad ku dhegto habka xalinta dhibaatooyinka. Waxa intaa dheer in this site waxaan ku talinayaa Qalabka SPOJ ΠΈ kala soocida dhibaatada ee SPOJ.pl.

Marka hore, waxaad u baahan tahay inaad kobciso aqoontaada aasaasiga ah

Marka aad la qabsato hab-raacyada luqadda, waxaa jira dhibaatooyin aad ka gudbi karto. Ka bilow mashaakil fudud oo u baahan ku celcelin. Marxaladdan, waxa ugu muhiimsan waa in la go'aamiyo qaabka barnaamijkaaga. Waxaa laga yaabaa inaad jeceshahay inaad ku qorto koodka meel cad oo badan, laga yaabee inaadan samayn. Waxa laga yaabaa inaad ku dhejiso jaantusyada isla xariiqda β€œif”, ama waxa laga yaabaa inaad ku dhejiso khadad gaar ah.

Waa inaad heshaa qaabka barnaamijkaaga sababtoo ah waa qaabkaaga.

Markaad raadiso, xasuuso laba mabda'a aasaasiga ah:

  • Koodhkaagu waa inuu noqdaa mid fudud in la fuliyo. Waa inaad dareentaa inaad ku qanacsan tahay fulinta xalka aad la timid. Waa maxay sababtu? Sababtoo ah inta lagu jiro tartanka, waxa ugu dambeeya ee aad rabto waa inaad lumiso koodhkaaga. Had iyo jeer way fiican tahay inaad 5 daqiiqo oo dheeri ah ku qaadato inaad ka fikirto sidii loo fududayn lahaa hirgelinta xeerka intii aad 10 daqiiqo isku dayday inaad ogaato.
  • Koodhkaagu waa inuu ahaadaa mid sahlan in la akhriyo. Marka koodku fudud yahay in la akhriyo, way fududahay in la saxo. Aynu wajahno – cayayaanku way dhacaan mar kasta. Ma ogtahay dareenkaas marka ay 10 daqiiqo ka harsan tahay oo aadan heli karin qaladka xun? Dabcan waad sameyneysaa. Si aad uga fogaato xaaladan, qor kood la akhriyi karo. Marka aad bilowdo qaladka, koodka wuxuu u ekaan doonaa mid dabiici ah oo sahlan in la fahmo.

Waa kan tusaale kayga qaabka barnaamijka.

Sida Loo Horumariyo Xirfadahaaga Horumarineed

Ku celceli, ku celcelin iyo ku celcelin dheeraad ah. Waxaan kugula talinayaa inaad ka shaqeyso 250-ka mushkiladood ee ugu horreeya ee la xallin karo SPOJ. U xalliya siday u kala horreeyaan. Ku bixi ugu yaraan hal saac oo ka fekeraya xalka mid kasta oo iyaga ka mid ah.

Ha dhihin: "Dhibaatada aad ayey iigu adag tahay, waxaan isku dayi doonaa inaan xaliyo tan xigta." Tani waa sida ay u maleeyaan kuwa khasaaray.

Qaado warqad iyo qalin. Ka fakar. Waxaa laga yaabaa inaad xal u heli karto, malaha maya. Ugu yaraan, waxaad horumarin doontaa fikirka algorithm. Hadii aad saacad gudaheed xal ku keeni kari waydo, madasha ama maqaallada ka raadi xal diyaar ah.

Maxaad ku gaari doontaa habkan? Baro inaad si dhakhso leh u hirgeliso fikradahaaga adoo isticmaalaya kood. Oo baro dhibaatooyinka qadiimiga ah iyo algorithms.

Marka labaad, waa in aad aqoon u leedahay algorithms iyo qaabdhismeedka xogta

Raac habka kala sareynta. Ma waxaad bilawday orod adigoon aqoon sida loo socdo? Maya Ma dhisi kartaa dhismo dhaadheer oo aan sal adag lahayn? Mar dambe maaha.

Ma iska indho tiri kartid tillaabooyinka ku socda waddada waxbarashada. Haddii aad iska indha tirto, waxa kuu hadhaya nusqaan aqooneed. Muddo ka dib way ka sii dari doonaan.

Ka bilow algorithms aasaasiga ah iyo qaabdhismeedka xogta

Way adagtahay in la bilaabo. Waxaa laga yaabaa inaadan garaneynin waxaad marka hore baraneyso. Taasi waa sababta Waxaan abuuray koorsada fiidiyooga "Algorithms and Data Structures". Marka aan abuurayo koorsadan, waxaan ku saleeyay sida aan jeclaan lahaa in la i baro. Falcelintu waxay ahayd mid cajiib ah! In ka badan 3000 oo arday oo ka kala yimid in ka badan 100 wadan ayaa iska diiwaan galiyay koorsada bishii ugu horeysay.

Haddii aad ka shaqeyso xallinta mashaakil fudud, waligaa ma hagaagi doontid.

Habka ugu waxtarka badan ee lagu fahmi karo waxa aanad garanayn waa in aad la kulanto ficil ahaan. sidaas ayaan ku bartay. Waxaan bartay farsamooyin badan oo cusub oo aanan waligey horay u maqal anigoo doortay hawl adag.

Dhibaato kasta oo saddexaad oo aad ka shaqeyso waa inay ku barataa wax cusub. Aad uga taxaddar markaad dooranayso dhibaatooyinka. Dooro dhibaatooyin aad u adag!

Markaad dhammaystirto 250kan mashaakil ee ka socda SPOJ, waxaad yeelan doontaa faham aasaasi ah oo ku saabsan mawduucyada asaasiga ah ee barnaamijyada ciyaaraha. Iyadoo si qoto dheer loo fahmo macquulka ka dambeeya algorithms-yada aasaasiga ah, algorithms-heerka sare waxay u ekaan doonaan kuwo ka adag. Sidan ayaad uga faa'iidaysan kartaa aqoontaada.

Si qoto dheer u sii mid kasta oo ka mid ah mawduucyada ugu muhiimsan

Halkan waxaa ah kheyraad qiimo leh oo xog badan leh. Halkaa waxaad ka heli doontaa 10ka algorithm ee ugu sarreeya iyo qaabdhismeedka xogta mawduuc kasta. Kadib 250 dhibaato oo ka timid SPOJ, wax badan ayaad ka ogaan doontaa liiskan. Laakiin waxaad sidoo kale ku turunturoon doontaa waxyaabo badan oo aadan weligaa hore u maqal. Markaa billow inaad mawduucyadan u barato siday u kala horreeyaan.

Haddii aanad xoojin aqoontaada ka dib markaad wax cusub barato, waxaad si degdeg ah u ilaawi doontaa wax kasta.
Waxaan kugula talinayaa ka dib markaad barato algorithm cusub, u isticmaal ficil ahaan. Ka shaqee 2-3 hawlood. Ka raadi summada algorithm ee SPOJ. Halkaas waxaad ka heli doontaa dhibaatooyin u baahan algorithm-kan si loo xalliyo. Wax ka qabashada arrimahan marka hore.

Master Dynamic Programming sababtoo ah waxay kuu horseedi doontaa guul
Waayo-aragnimadayda, tartan kastaa wuxuu leeyahay ugu yaraan hal dhibaato barnaamijyada firfircoon. Dad badan ayaa madax xanuun ku qaada marka ay maqlaan weedha "barnaamijka firfircoon" sababtoo ah maba fahmaan.

Tanina way wanaagsan tahay. Sababtoo ah haddii aad fahamto barnaamijyada firfircoon, markaa waad guuleysan doontaa.

Waxaan jeclahay barnaamijyada firfircoon, waa mowduuca aan jeclahay. Sirta barnaamijyada firfircooni waa in la sameeyo doorashooyin heer caalami ah, ma aha oo kaliya kuwa maxalliga ah. Waa in aad dhibaatada u kala saartaa dhib-hoosaadyo fudud. Xalli mid kasta oo ka mid ah dhibaatooyinkan hoose hal mar kaliya. Ka dib samee xal isku-darka dhibaatooyinka hoose ee la xaliyay. Algorithm hunguriga - lidka ku ah barnaamijyada firfircoon. Waxay u baahan tahay samaynta doorashooyin heer deegaan ah oo heer kasta ah. Iyo doorashada ugu fiican ee deegaanka waxay u horseedi kartaa xal caalami ah oo xun.

Markaad baranayso fikrado cusub, iska hubi Casharrada TopCoder. Aad bay u faahfaahsan yihiin oo la fahmi karo. Waad ku mahadsan tahay iyaga waxaan awooday inaan fahmo geedo tusmayn binary.

Ku dadaal

Waligaa ma maqashay ciyaartoy ku guulaysta ciyaaraha Olimbikada iyagoon sanado badan ku shaqayn? Aniga maya.

Sannad kasta, diyaargarowga Olombikada Kombuyuutarku wuxuu bilaabmayaa Sebtembar wuxuuna dhammaaday Abriil.

Maalin kasta 8daas bilood waxaan ku tababaranayay 5 saacadood.

Oo haa, waxaan ku qaatay saacadahan 5 kaliya xallinta dhibaatooyinka algorithmic. Waxaan xusuustaa maalmihii aan ku celcelinayay 8 iyo xitaa 10 saacadood. Waa maxay sababtu? Sababtoo ah waan ka helay. Maalin kasta markii aan dugsiga ka soo noqday, waxaan si toos ah u aadi jiray qolka hurdada, waxaan fadhiistay kombuyuutarka oo aan bilaabay inaan falanqeeyo dhib cusub. Ama waxaan baranayay algorithm cusub oo aan u baahanahay inaan ogaado si aan u xalliyo dhibaatadan.

Haddii aad rabto inaad guuleysato, waa inaad sidaas oo kale sameysaa. Dhibaato dooro oo ku dheggan Ka fakar markaad u socoto dukaanka weyn ama markaad baabuur wadid.

Sida aan ugu guulaystey 3 ka mid ah 4tii biladood ee dahabka ah ee Olympiad Computing

Ma ogtahay in marka aad seexato ay maskaxdaadu jajabiso xogtii maalintaas la ururiyay. Waxa uu u muuqdaa in uu buugaag sida alifbeetada u kala horreeyaan u dul saaraya makhsinka buugaagta. Asal ahaan, maskaxdaadu waxay ka fikirtaa dhibaatooyinka kala duwan ee ku wajahan.

Tan waxa loo isticmaali karaa si xirfad leh. Kahor intaadan seexan, akhri dhib adag oo xasuuso waxa ay ku qaadanayso xallinteeda. Marxaladdan, uma baahnid inaad raadiso xalka laftiisa. seexo Maskaxdaadu waxay bilaabi doontaa inay ka shaqeyso dhibaatadan. Markaad hurdada ka kacdo, waxaad la yaabi doontaa inaad ogaatid inaad xalka heshay adigoo hurda.

Isku day naftaada. Waa sixir oo kale.

Waxaan sameeyay baloog muuqaal ah

Sida aan ugu guulaystey 3 ka mid ah 4tii biladood ee dahabka ah ee Olympiad Computing

Baaragaraafkan gaaban lama xidhiidho barnaamijyada ciyaaraha. Haddii aad ku jirto labaatanaad oo aad la yaabban tahay sida aan u arko adduunka, waxaa laga yaabaa inaad rabto inaad hubiso my video blog on Youtube. Waxaan ka hadlaa adduunka, nolosha iyo cilmiga kumbuyuutarka ee ku jira.

Si fiican u shaqee

Tani waa sirta guusha. Waxaad u baahan tahay yoolal

Dad baan nahay oo waan jecelnahay dib u dhigid. Waxaan mar walba rabnaa inaan iska dhigno waxa u baahan in hadda la qabto. Daawashada Netflix had iyo jeer waa ka xiiso badan tahay la tacaalida dhibaatooyinka barnaamijyada firfircoon. Waad ogtahay tan oo waxaad u baahan tahay inaad hagaajiso.

Sida loo garaaco dib u dhigista

U deji naftaada yoolal. Had iyo jeer waxaad ka heli doontaa dhibaatooyin xiiso leh oo aad ka baran karto wax cusub (fiiri kheyraadka aan kor ku soo sheegay). Laakiin dhibaatooyinkan waxay u baahan yihiin in la xalliyo, ma aha oo kaliya in la akhriyo.

Markaa waa sidaan uga soo gudbay dib u dhigista. Waxaan bilaabay kalandarka warqadda waxaana maalin walba ka buuxsamay dhibaatooyin aan rabay inaan xalliyo. Had iyo jeer waxaan buuxin jiray dhibaatooyinka laba maalmood ka hor. Markaa waxaan gartay sida aan wakhtigayga u maareeyo maalmaha soo socda.

Sida aan ugu guulaystey 3 ka mid ah 4tii biladood ee dahabka ah ee Olympiad Computing

Markaa mar walba waan dhiirri-gelin jiray. Waxaan u baahday inaan xalliyo dhibaatooyinka qaar oo aan helo kuwa cusub oo aan buuxiyo maalmaha soo socda ee jadwalka. Ka gudubka dhibaatooyinka la xalliyo waxay dareemeysaa mid weyn. Waan ogahay inaad adiguna jeceshahay.

Hel jadwal warqad kuu gaar ah. Ha ku samaynin talefankaaga liis kale oo aad ku ilaawi doonto berrito.

Sida loo saxo si wax ku ool ah

Ma rabtaa inaad noqoto xirfadle? Hadday haa tahay, markaa waxaad u baahan tahay inaad "maskaxdaada ka saarto."
Tani waa ilaa hadda farsamada wax-ka-hortagga ugu waxtarka badan ee aan ogahay sababtoo ah uma baahna cillad-dembiyeed gabi ahaanba. Maskaxdaadu waxay baari kartaa laamo kood badan hal mar waxayna ku siinaysaa dulmar aad u balaadhan oo ku saabsan koodka marka la barbar dhigo cilladaha caadiga ah.

Waxa aad is barbar dhigi kartaa sayid-yaqaanka ciyaarta shaxanka oo u haysta in 3 hore u socdaan.

Farsamadan waxaan u isticmaalaa oo kaliya sidii line-difaacaygii hore. Kadibna waxaan isticmaalaa cilladaha dhabta ah.

Si aad u barato sida loo ciribtiro madaxaaga, waxaad u baahan tahay inaad ku tababarto. Markaad xaqiijiso xalka dhibaatada oo aad hesho "jawaab khaldan", si toos ah ha u tegin badhanka cilladaha. Dib u akhri koodka oo ka fakar: "Maxaa ka dhacaya xariiqan?", "Sidee "haddii" halkan u saameeyaa barnaamijka?", "Markaan ka baxno wareegga, waa maxay qiimaha soo-jeediyaha?"

Sidan ayaad u fakaraysaa naftaada. Waqti ka dib, waxaad baran doontaa inaad qorto koodka oo aad ku saxdo duulista.

Ku saabsan qoraaga

Sida aan ugu guulaystey 3 ka mid ah 4tii biladood ee dahabka ah ee Olympiad Computing
Andrei Margeloiu waa barnaamij-yaqaan aad u jecel oo xiiseeya ganacsi-abuurka, bilawga, iyo bannaanka. Waad la xiriiri kartaa isaga LinkedIn.

Turjumaada: Diana Sheremyeva

Source: www.habr.com

Add a comment