Yadda na lashe lambobin zinare 3 cikin 4 a gasar Olympics

Yadda na lashe lambobin zinare 3 cikin 4 a gasar Olympics

Na shirya don Google HashCode World Championship Finals 2017. Wannan ita ce babbar gasa ƙalubalen algorithmic da Google ya shirya.

Na fara koyon C++ tun daga farko a aji tara. Ban san kome ba game da shirye-shirye, algorithms ko tsarin bayanai. A wani lokaci na rubuta layin farko na code. Watanni bakwai bayan haka, gasar shirye-shirye ta kunno kai. Ina so in ga yadda salon koyan shirye-shiryena ke aiki. Ita ce cikakkiyar dama.

Bayan kwanaki biyu na gasar, sakamakon ya zo: Na lashe lambar zinare.

Na yi mamaki. Na kasance gaba da masu fafatawa tare da gogewar shekaru 5. Na san na yi aiki tuƙuru, amma wannan nasarar ta zarce duk tsammanina. Na fahimci cewa shirye-shiryen wasanni shine batuna kuma na tsunduma cikin shi gaba daya.

Na san abin da ya kai ni ga nasara kuma ina so in raba tare da ku.

Yadda na lashe lambobin zinare 3 cikin 4 a gasar Olympics

An fassara labarin tare da tallafin EDISON Software, wanda yana kula da lafiyar masu shirye-shirye da kuma karin kumalloKuma yana haɓaka software na al'ada.

Wanne yaren shirye-shirye za a zaɓa

  • C++ - Na ba da shawarar sosai! Yana da sauri sosai. Aiwatar da algorithms yana ɗaukar ɗan lokaci kaɗan saboda STL. Ana karɓar C++ a duk gasa. Na rubuta layin farko na lamba a C++.
  • C - Koyi C++ saboda STL. Idan kun san C, kuna iya yin shiri a C ++.
  • Java shine yaren shirye-shirye a hankali. Yana da ajin Big Integer, amma ba zai taimaka muku da yawa ba. Idan gasar tana da iyakacin lokaci, tare da Java tabbas za ku wuce ta. Ba a karɓar Java a duk gasa.

A ina za ku iya yin aiki

ina bada shawara Mai shari'ar Sphere Online (SPOJ). Yana da tasiri mai tasiri dangane da yawa da inganci. Ana samun masu gyara da mafita akan layi idan kun makale yayin magance matsaloli. Baya ga wannan rukunin yanar gizon na ba da shawarar Kayan aikin SPOJ и matsala classifier ga SPOJ.pl.

Da farko, kuna buƙatar haɓaka ilimin ku na abubuwan yau da kullun

Da zarar kun saba da tsarin tsarin harshe, akwai wasu matsalolin da za ku iya shawo kan su. Fara da matsaloli masu sauƙi waɗanda ke buƙatar aiki. A wannan mataki, babban abu shine sanin salon shirye-shiryen ku. Wataƙila kuna son rubuta lamba tare da sarari mai yawa, watakila ba ku so. Kuna iya sanya baƙar fata akan layi ɗaya da "idan", ko kuna iya sanya su akan layi daban-daban.

Dole ne ku nemo salon shirye-shiryen ku saboda salon ku ne.

Lokacin da kake nema, tuna ka'idoji guda biyu na asali:

  • Lambar ku yakamata ya zama mai sauƙin aiwatarwa. Ya kamata ku ji daɗin aiwatar da mafita da kuka fito da shi. Me yasa? Domin yayin gasar, abu na ƙarshe da kuke so shine ku ɓace a cikin lambar ku. Yana da kyau koyaushe a kashe ƙarin mintuna 5 don tunanin yadda za a sauƙaƙe aiwatar da lambar fiye da kashe mintuna 10 ƙoƙarin gano shi.
  • Lambar ku yakamata ya zama mai sauƙin karantawa. Lokacin da lambar ke da sauƙin karantawa, yana da sauƙin cire kuskure. Bari mu fuskanci shi — kwari suna faruwa koyaushe. Kun san wannan jin lokacin da kuka saura minti 10 kuma ba za ku iya samun kuskuren kuskure ba? Tabbas kuna yi. Don guje wa wannan yanayin, rubuta lamba mai iya karantawa. Da zarar ka fara gyara shi, lambar za ta zama kamar ta halitta da sauƙin fahimta.

Ga misalin nawa salon shirye-shirye.

Yadda Ake Haɓaka Ƙwarewar Ci gabanku

Yi aiki, aiki da ƙarin aiki. Ina ba da shawarar ku yi aiki ta hanyar 250 mafi yawan matsalolin da za a iya magance su SPOJ. Warware su cikin tsari. A kashe akalla sa'a guda yana tunanin mafita ga kowannen su.

Kar a ce: "Wannan matsalar ta yi min wahala, zan yi kokarin warware na gaba." Wannan shine yadda masu hasara ke tunani.

Ɗauki takarda da fensir. Ka yi tunani game da shi. Wataƙila za ku iya samun mafita, watakila a'a. Aƙalla, zaku haɓaka tunanin algorithmic. Idan ba za ku iya samar da mafita cikin sa'a guda ba, nemi mafita da aka shirya akan dandalin tattaunawa ko a cikin labarai.

Me za ku cim ma da wannan tsarin? Koyi da sauri aiwatar da ra'ayoyinku ta amfani da lamba. Kuma nazarin matsalolin gargajiya da algorithms.

Abu na biyu, dole ne ku mallaki algorithms da tsarin bayanai

Bi tsarin tsari. Shin kun fara gudu ba tare da sanin tafiya ba? A'a. Shin za ku iya gina babban gini ba tare da kakkafaffen tushe ba? Ba kuma.

Ba za ku iya yin watsi da matakan da ke kan hanyar koyo ba. Idan kuka yi watsi da su, za a bar ku da gibin ilimi. Da shigewar lokaci za su ƙara yin muni ne kawai.

Fara da mahimman algorithms da tsarin bayanai

Farawa ke da wuya. Wataƙila saboda ba ku san abin da za ku fara karatu ba. Shi ya sa Na kirkiro darussan bidiyo "Algorithms da Tsarin Bayanai". Lokacin ƙirƙirar wannan kwas, na dogara ne akan yadda nake so a koya mini. Halin ya kasance mai ban mamaki! Sama da dalibai 3000 daga kasashe sama da 100 ne suka shiga kwas a wata na farko.

Idan kun yi aiki don magance matsaloli masu sauƙi, ba za ku taɓa inganta ba.

Hanya mafi inganci don fahimtar abin da ba ku sani ba shine ku dandana shi a aikace. Haka na koya. Na koyi sababbin dabaru da yawa waɗanda ban taɓa jin su ba ta wurin zabar aiki mai wuyar gaske.

Kowace matsala ta uku da kuke aiki da ita yakamata ta koya muku wani sabon abu. Yi hankali lokacin zabar matsaloli. Zaɓi ƙarin matsaloli masu wahala!

Da zarar kun kammala waɗannan matsalolin 250 daga SPOJ, za ku sami fahimtar ainihin ainihin batutuwan shirye-shiryen wasanni. Tare da zurfin fahimtar ma'anar da ke bayan algorithms na asali, babban matakin algorithms zai zama kamar ƙasa da rikitarwa. Ta wannan hanyar za ku iya amfani da mafi yawan ilimin ku.

Zurfafa zurfafa cikin kowane babban jigogi

Ga albarkatu mai mahimmanci tare da bayanai masu yawa. A can za ku sami manyan algorithms 10 da tsarin bayanai don kowane batu. Bayan matsalolin 250 daga SPOJ, zaku san abubuwa da yawa daga wannan jerin. Amma kuma za ku yi tuntuɓe kan abubuwa da yawa da ba ku taɓa ji ba. Don haka fara nazarin waɗannan batutuwa a cikin tsari na hawan.

Idan ba ku ƙarfafa ilimin ku ba bayan koyon sabon abu, za ku manta da komai da sauri.
Ina ba da shawarar cewa bayan kun koyi sabon algorithm, yi amfani da shi a aikace. Yi aiki ta hanyar ayyuka 2-3. Nemo alamar algorithm a cikin SPOJ. A can za ku sami matsalolin da ke buƙatar wannan algorithm don warwarewa. Magance waɗannan batutuwa tukuna.

Master Dynamic Programming Domin Zai Kai Ka Ga Nasara
Daga gwaninta na, kowace gasa tana da aƙalla matsala ɗaya shirye-shirye masu tsauri. Mutane da yawa suna samun ciwon kai idan suka ji kalmar “tsarin shirye-shirye” domin ba su fahimce ta kwata-kwata.

Kuma wannan yana da kyau. Domin idan kun fahimci dynamic programming, to zaku ci nasara.

Ina son shirye-shirye masu ƙarfi, batu ne na fi so. Sirrin shirye-shirye masu ƙarfi shine yin zaɓi mafi kyau a duniya, ba kawai na gida ba. Dole ne ku rarraba matsalar zuwa ƙananan ƙananan matsalolin. Magance kowane ɗayan waɗannan ƙananan matsalolin sau ɗaya kawai. Sa'an nan kuma ƙirƙirar wani bayani wanda ya haɗu da matsalolin da aka warware. Algorithm mai kwadayi - kishiyar shirye-shirye masu ƙarfi. Yana buƙatar yin mafi kyawun zaɓi na gida a kowane mataki. Kuma zaɓi mafi kyau na gida zai iya haifar da mummunar mafita ta duniya.

Yayin koyon sabbin dabaru, duba Koyawa TopCoder. Suna da cikakkun bayanai kuma ana iya ganewa. Godiya gare su na iya fahimta binaryar bishiyoyi masu ma'ana.

Yi aiki tuƙuru

Shin kun taɓa jin labarin 'yan wasan da suka lashe gasar Olympics ba tare da yin aiki na tsawon shekaru ba? Ni ba.

Kowace shekara, ana fara shirye-shiryen gasar Olympics ta kwamfuta a watan Satumba kuma ya ƙare a watan Afrilu.

Kowace rana tsawon waɗannan watanni 8 na yi aiki na tsawon awanni 5.

Kuma a, na kashe waɗannan sa'o'i 5 kawai don magance matsalolin algorithmic. Na tuna kwanakin da na yi aiki na 8 har ma da 10 hours. Me yasa? Domin ina son shi. Kowace rana idan na dawo gida daga makaranta, na shiga kai tsaye ɗakin kwana, na zauna a kan kwamfutar na fara nazarin wata sabuwar matsala. Ko kuma ina koyon sabon algorithm wanda nake buƙatar sani don magance wannan matsalar.

Idan kana so ka yi nasara, dole ka yi haka. Zaɓi matsala kuma ku tsaya a kan ta. Yi tunani game da shi yayin tafiya zuwa babban kanti ko yayin tuƙi.

Yadda na lashe lambobin zinare 3 cikin 4 a gasar Olympics

Shin kun san cewa lokacin da kuke barci, kwakwalwarku tana lalata bayanan da aka tattara a ranar? Ya bayyana yana tara littafai cikin jerin haruffa akan rumbun littattafai. Ainihin, kwakwalwar ku tana tunanin matsalolin daban-daban da kuke fuskanta.

Ana iya amfani da wannan da fasaha. Kafin ka kwanta barci, karanta matsala mai wuya kuma ka tuna abin da ake bukata don magance ta. A wannan mataki, ba kwa buƙatar neman mafita da kanta. Ku kwanta. Kwakwalwar ku za ta fara aiwatar da wannan matsalar. Lokacin da kuka tashi, za ku yi mamakin sanin cewa kun sami mafita lokacin da kuke barci.

Gwada shi da kanku. Kamar sihiri ne.

Na kirkiro blog ɗin bidiyo

Yadda na lashe lambobin zinare 3 cikin 4 a gasar Olympics

Wannan gajeriyar sakin layi ba ta da alaƙa da shirye-shiryen wasanni. Idan kun kasance a cikin shekarunku ashirin kuma kuna mamakin yadda nake ganin duniya, kuna iya so ku duba blog na bidiyo akan Youtube. Ina magana game da duniya, rayuwa da kimiyyar kwamfuta a cikinta.

Yi aiki da hankali

Wannan shine sirrin nasara. Kuna buƙatar burin.

Mu mutane ne kuma muna son shi jinkirtawa. Kullum muna so mu cire abin da ya kamata a yi a yanzu. Kallon Netflix koyaushe yana da daɗi fiye da magance matsalolin shirye-shirye masu ƙarfi. Kun san wannan kuma kuna buƙatar gyara shi.

Yadda za a doke jinkirtawa

Sanya kanku burin. Kullum za ku sami matsaloli masu ban sha'awa waɗanda za ku iya koyon sabon abu (duba albarkatun da na ambata a sama). Amma waɗannan matsalolin suna buƙatar a warware su, ba kawai karantawa ba.

To ga yadda na shawo kan jinkiri. Na fara kalandar takarda kuma na cika kowace rana da matsalolin da nake so in warware. Koyaushe na cika matsaloli kwanaki biyu kafin. Don haka na san yadda zan sarrafa lokacina a cikin kwanaki masu zuwa.

Yadda na lashe lambobin zinare 3 cikin 4 a gasar Olympics

Don haka koyaushe ina da kuzari. Ina buƙatar magance wasu matsaloli kuma in nemo sababbi don cika kwanaki masu zuwa akan kalanda. Ketare matsalolin da aka warware suna jin daɗi sosai. Na san ku ma kuna son shi.

Sami kalandar takarda na ku. Kada ku ƙirƙiri wani jerin abubuwan yi akan wayarku wanda zaku manta da shi gobe.

Yadda ake yin kuskure yadda ya kamata

Kuna so ku zama ƙwararren? Idan eh, to kuna buƙatar "gyara shi a cikin zuciyar ku."
Wannan ita ce mafi ƙwaƙƙwaran dabarar gyara kurakurai da na sani saboda baya buƙatar mai gyara kwata-kwata. Kwakwalwar ku tana bincika rassan lambobi da yawa a lokaci ɗaya kuma yana ba ku cikakken bayanin lambar idan aka kwatanta da ita classic debugger.

Kuna iya kwatanta kanku da babban malami wanda ke buga dara kuma yana tunanin 3 yana tafiya gaba.

Ina amfani da wannan dabara ne kawai a matsayin layin farko na tsaro. Sa'an nan kuma na yi amfani da ainihin gyara kuskure.

Don koyon yadda ake yin kuskure a kan ku, kuna buƙatar yin aiki. Lokacin da ka tabbatar da maganin matsala kuma ka sami "amsar da ba daidai ba", kar ka tafi kai tsaye zuwa maballin cirewa. Sake karanta lambar kuma kuyi tunani: "Me ke faruwa a wannan layin?", "Ta yaya"idan" anan ke shafar shirin?

Ta haka kuke tunani da kanku. Bayan lokaci, za ku koyi rubuta lamba da kuma gyara shi akan tashi.

Game da marubucin

Yadda na lashe lambobin zinare 3 cikin 4 a gasar Olympics
Andrei Margeloiu ƙwararren mai tsara shirye-shirye ne tare da sha'awar kasuwanci, farawa, da waje. Kuna iya tuntuɓar shi na LinkedIn.

Fassara: Diana Sheremyeva

source: www.habr.com

Add a comment