Le auala na ou manumalo ai i pine auro e 3 mai le 4 i le Olimipeka Faakomepiuta

Le auala na ou manumalo ai i pine auro e 3 mai le 4 i le Olimipeka Faakomepiuta

Sa ou sauniuni mo le Google HashCode World Championship Finals 2017. O le tauvaga sili lea ma faʻafitauli algorithmic faʻatulagaina e Google.

Na amata ona ou aʻoaʻoina le C++ mai le amataga i le vasega iva. Ou te le iloa se mea e uiga i polokalame, algorithms poʻo faʻamaumauga faʻamaumauga. I se taimi na ou tusia ai laʻu laina muamua o le code. I le fitu masina mulimuli ane, na faʻaalia ai le tauvaga polokalame i le tafailagi. Sa ou fia vaai pe o le a le lelei o la'u faiga o le aoaoina o polokalame. O le avanoa sili lea.

Ina ua mavae aso e lua o le tauvaga, na oo mai ai taunuuga: Na ou manumalo i le pine auro.

Sa ou te'i. Sa ou muamua atu i tagata tauva ma le 5 tausaga o le poto masani. Sa ou iloa sa ou galue malosi, ae o lenei ausia na sili atu nai lo o'u faamoemoega uma. Na ou iloa ai o polokalame tau taaloga o la'u autu lea ma ou alu atu ai i totonu.

Ou te iloa le mea na mafua ai ona ou manuia ma ou te fia faasoa atu ia te oe.

Le auala na ou manumalo ai i pine auro e 3 mai le 4 i le Olimipeka Faakomepiuta

O le tusiga na faaliliuina ma le lagolago a le EDISON Software, lea e tausia le soifua maloloina o tagata fai polokalame ma a latou taeao, faapea foi ma atia'e polokalama fa'apitoa.

O fea le gagana polokalame e filifili

  • C++ - Fautua maualuga! E vave tele o ia. O le faʻatinoina o algorithms e manaʻomia sina taimi ona o le STL. C++ e talia i tauvaga uma. Na ou tusia laʻu laina muamua o le code i C ++.
  • C - Aoao C++ ona o le STL. Afai e te iloa C, e mafai foi ona e polokalame ile C++.
  • Java ose gagana fa'apolokalame lemu. O lo'o i ai se vasega Tele Integer, ae o le a le fesoasoani tele ia te oe. Afai o se tauvaga ei ai se taimi faatapulaa, faatasi ai ma Java e mautinoa lava e sili atu. E le taliaina Java i tauvaga uma.

O fea e mafai ona e faataitai ai

Ou te fautua atu Sphere Online Judge (SPOJ). O se punaoa aoga i tulaga o le tele ma le lelei. Fa'atonu ma fofo o lo'o avanoa i luga ole laiga pe afai e te pipii i le faagasologa o le foia o faafitauli. I le faaopoopo atu i lenei saite ou te fautuaina SPOJ Toolkit и fa'avasega fa'afitauli mo SPOJ.pl.

Muamua, e tatau ona e faʻaleleia lou malamalama i mea faʻavae

O le taimi lava e te masani ai i le syntax o le gagana, o loʻo i ai ni faʻafitauli e foia. Amata i faʻafitauli faigofie e manaʻomia ai le faʻataʻitaʻiga. I lenei laasaga, o le mea autu o le fuafuaina lea o lau faiga polokalame. Masalo e te mana'o e tusi le code ma le tele o avanoa papa'e, masalo e te le faia. Atonu o lo'o e tu'uina puipui ile laina tutusa ma le "afai", pe e te tu'uina i laina eseese.

E tatau ona e su'e lau sitaili polokalame aua o LOU sitaili.

A e su'eina, ia manatua ni mataupu faavae se lua:

  • O lau code e tatau ona faigofie ona faʻatinoina. E tatau ona e lagona le mafanafana i le faʻatinoina o le fofo e te sau ai. Aisea? Aua i le taimi o se tauvaga, o le mea mulimuli e te manaʻo ai o le leiloa i lau code. E sili atu le faʻaalu o le 5 minute faʻaopoopo e mafaufau ai pe faʻafefea ona faʻafaigofie le faʻatinoga o le code nai lo le faʻaaluina o le 10 minute e taumafai ai e mafaufau i ai.
  • O lau code e tatau ona faigofie ona faitau. A faigofie ona faitau le code, e faigofie lava ona debug. Se'i o tatou fa'afetaia'i—e tutupu fa'aletonu i taimi uma. E te iloa lena lagona pe a toe 10 minute o totoe ae e te le maua le mea sese leaga? Ioe e te faia. Ina ia aloese mai lenei tulaga, tusi le legible code. O le taimi lava e te amata faʻapipiʻi ai, o le code o le a foliga masani ma faigofie ona malamalama.

O la'u faataitaiga lenei faiga polokalame.

Fa'afefea ona Fa'aleleia Lou Atina'e Tomai

Faʻataʻitaʻi, faʻataʻitaʻi ma sili atu faʻataʻitaʻiga. Ou te fautua atu e te galue i le 250 muamua sili ona foia faafitauli i luga SPOJ. Foia i latou i le faasologa. Faʻaalu a itiiti ifo ma se itula e mafaufau ai i le fofo o latou taʻitoʻatasi.

Aua e te fai atu: "O lenei faafitauli e faigata tele ia te au, o le a ou taumafai e foia le isi." O le auala lea e mafaufau ai le au faiaina.

Ave se fasipepa ma se penitala. Mafaufau i ai. Atonu e mafai ona e maua se fofo, atonu e leai. I se tulaga maualalo, o le ae atiaʻe mafaufauga algorithmic. Afai e le mafai ona e maua se fofo i totonu o le itula, saili mo se fofo ua saunia i luga o le forum poʻo i totonu o tala.

O le a se mea e te ausia i lenei faiga? A'oa'o e fa'atino vave ou manatu ile fa'aogaina ole code. Ma suʻesuʻe faʻafitauli masani ma algorithms.

Lona lua, e tatau ona e faʻatautaia algorithms ma faʻamaumauga faʻamaumauga

Mulimuli i se faiga fa'atonu. Na e amata tamo'e e aunoa ma lou iloa savali? Leai. E mafai ona e fausia se sikoa maualuga e aunoa ma se faavae mautu? E le toe.

E le mafai ona e le amanaiaina laasaga i luga o le ala e aoao ai. Afai e te le amanaiaina i latou, o le a tuua oe i avanoa o le malamalama. I le aluga o taimi o le a na ona latou leaga.

Amata i algorithms faavae ma faʻamaumauga faʻamaumauga

E faigata ona amata. Masalo ona e te le iloa le mea e te suʻesuʻeina muamua. Mea tonu lava lena Na ou fatuina se ata vitio "Algorithms and Data Structures". I le fatuina o lenei kosi, ou te faʻavae i luga o le auala ou te manaʻo e aʻoaʻoina ai. Sa ofoofogia le tali atu! E silia ma le 3000 tamaiti aoga mai le silia ma le 100 atunuu na sainia mo le kosi i le masina muamua.

Afai e te galue i le foiaina o faafitauli faigofie, e te le toe faaleleia.

O le auala sili ona aoga e malamalama ai i mea e te le iloa o le faʻataʻitaʻiina lea. O le auala lena na ou aoaoina ai. Sa ou aoaoina le tele o metotia fou ou te lei faalogo muamua i ai e ala i le filifilia o se galuega faigata.

O fa'afitauli lona tolu uma e te galue ai e tatau ona a'oa'oina oe i se mea fou. Fa'aeteete atili pe a filifilia fa'afitauli. Filifili nisi faafitauli faigata!

A mae'a loa nei fa'afitauli e 250 mai le SPOJ, o le ae maua se malamalamaga fa'avae i autu autu o polokalame ta'aloga. Faatasi ai ma se malamalama loloto o le manatu i tua o algorithms faavae, algorithms tulaga maualuga o le a foliga mai e le faigata. O le auala lea e mafai ai ona e faʻaogaina le tele o lou malamalama.

Ia eli loloto i autu autu taitasi

O se punaoa taua lenei ma le tele o faʻamatalaga. O iina e te maua ai le pito i luga 10 algorithms ma faʻamaumauga faʻamaumauga mo autu taʻitasi. A maeʻa faʻafitauli 250 mai SPOJ, e tele mea e te iloa mai lenei lisi. Ae o le a e tautevateva foʻi i le tele o mea e te leʻi faalogo muamua i ai. Ia amata la ona su'esu'e ia mataupu i le fa'asologa alu a'e.

Afai e te le faʻamalosia lou malamalama pe a uma ona e aʻoaʻoina se mea fou, o le a vave ona galo ia te oe mea uma.
Ou te fautuaina pe a uma ona e aʻoaʻoina se algorithm fou, faʻaaoga i le faʻatinoga. Fai i le 2-3 galuega. Vaavaai mo le algorithm tag ile SPOJ. O iina e te maua ai faʻafitauli e manaʻomia ai lenei algorithm e foia. Fa'asaga muamua nei mataupu.

Matai Polokalama Dynamic Aua E Ta'ita'ia Oe i le Manumalo
Mai loʻu poto masani, o tauvaga uma lava e tasi le faʻafitauli fa'atonu polokalame. E tiga le ulu o le tele o tagata pe a latou faalogo i le faaupuga “dynamic programming” ona latou te le malamalama i ai.

Ma e lelei lenei. Aua afai e te malamalama i polokalame faʻamalosi, ona e manumalo lea.

Ou te fiafia i polokalame malosi, o laʻu autu e sili ona ou fiafia i ai. O le mealilo o polokalame faʻamalosi o le faia lea o filifiliga sili ona lelei i le lalolagi, ae le naʻo le lotoifale. E tatau ona e vaevaeina le fa'afitauli i ni fa'afitauli laiti. Foia nei fa'afitauli ta'itasi na'o le tasi. Ona fai lea o se fofo e tu'ufa'atasia ai fa'afitauli laiti. Matape'ape'a algorithm - le fa'afeagai o polokalame fa'agaioiga. E mana'omia ai le faia o filifiliga sili ona lelei i le lotoifale i la'asaga ta'itasi. Ma o se filifiliga sili ona lelei i le lotoifale e mafai ona taitai atu ai i se fofo leaga o le lalolagi.

A'o a'oa'oina manatu fou, siaki TopCoder aʻoaʻoga. E matua auiliili ma malamalama. Faafetai ia i latou sa mafai ona ou malamalama la'au fa'asino igoa.

Galue malosi

Ua e faalogo i tagata taaalo na manumalo i le Olimipeka e aunoa ma ni tausaga o faataitai? E leai a'u.

O tausaga uma lava, o sauniuniga mo le Olimipeka Komipiuta na amata ia Setema ma fa'ai'u ia Aperila.

O aso uma mo nei masina 8 sa ou faataitai ai mo le 5 itula.

Ma ioe, na ou faʻaaluina nei 5 itula naʻo le foia o faʻafitauli algorithmic. Ou te manatua aso na ou faataitai ai mo le 8 ma e oo lava i le 10 itula. Aisea? Ona sa ou fiafia i ai. O aso uma lava pe a ou toe foʻi mai i le fale mai le aʻoga, ou te alu saʻo i le potumoe, nofo i lalo i le komepiuta ma amata ona iloilo se faafitauli fou. Pe sa ou aoaoina se algorithm fou e tatau ona ou iloa e foia ai lenei faafitauli.

Afai e te manaʻo e manumalo, e tatau ona e faia le mea lava e tasi. Filifili se faafitauli ma pipii i ai. Mafaufau i ai a'o savali i le supamaketi po'o le ta'avale.

Le auala na ou manumalo ai i pine auro e 3 mai le 4 i le Olimipeka Faakomepiuta

Na e iloa a e moe, e fa'aleagaina e lou fai'ai fa'amatalaga na aoina i lena aso? E foliga mai o lo'o fa'aputu tusi i le fa'aalafapeta i luga o se fatatusi. O le mea moni, e mafaufau lou fai'ai i fa'afitauli eseese o lo'o e feagai.

E mafai ona fa'aaogaina ma le atamai. Aʻo leʻi alu e moe, faitau se faʻafitauli faigata ma manatua mea e manaʻomia e foia ai. I lenei laʻasaga, e te le manaʻomia le suʻeina o le fofo lava ia. Alu i le moega. O lou fai'ai o le a amata ona fa'aogaina lenei fa'afitauli. A e ala i luga, o le a e ofo i lou iloaina na e mauaina le fofo a o e moe.

Taumafai e oe lava. E pei o se togafiti.

Na ou faia se blog blog

Le auala na ou manumalo ai i pine auro e 3 mai le 4 i le Olimipeka Faakomepiuta

O lenei parakalafa puupuu e le fesoʻotaʻi ma polokalame taʻaloga. Afai e luasefulu ou tausaga ma mafaufau pe faʻafefea ona ou vaʻai i le lalolagi, atonu e te manaʻo e siaki la'u blog blog i luga ole Youtube. Ou te talanoa e uiga i le lalolagi, olaga ma le saienisi komepiuta i totonu.

Galue atamai

O le mealilo lea o le manuia. E te manaʻomia ni sini.

O i matou o tagata ma matou te fiafia i ai fa'atuai. Matou te mananao i taimi uma e tolopo mea e tatau ona fai i le taimi nei. Matamata Netflix e sili atu le fiafia nai lo le feagai ma faʻafitauli faʻapitoa polokalame. E te iloa lenei mea ma e tatau ona e toe faaleleia.

Auala e manumalo ai i le faatuutuu

Seti oe lava sini. O le a e mauaina i taimi uma faʻafitauli manaia e mafai ona e aʻoaʻoina ai se mea fou (siaki punaoa na ou taʻua i luga). Ae o nei faafitauli e tatau ona foia, ae le na o le faitau i ai.

O le ala la lea na ou manumalo ai i le faatuutuu. Sa ou amataina se kalena pepa ma faatumu aso taitasi i faafitauli sa ou manao e foia. E masani lava ona ou faatumuina faafitauli i le lua aso muamua atu. O lea na ou iloa ai le puleaina o loʻu taimi i aso e sosoo ai.

Le auala na ou manumalo ai i pine auro e 3 mai le 4 i le Olimipeka Faakomepiuta

O lea sa faaosofia ai lava au i taimi uma. Sa ou manaomia e foia nisi o faafitauli ma saili ni faafitauli fou e faatumu i aso e sosoo ai i le kalena. O le sopoia o faafitauli ua foia e manaia tele. Ou te iloa e te fiafia foi i ai.

Maua lau lava kalena pepa. Aua le faia se isi lisi o mea e fai i lau telefoni e te galo ai taeao.

Fa'afefea ona fa'alelei lelei

E te manaʻo e avea oe ma se tagata tomai faapitoa? Afai o le ioe, ona e manaʻomia lea e "faʻapipiʻi i lou mafaufau."
O le auala sili lea ona lelei le faʻaogaina o le faʻaogaina ou te iloa aua e le manaʻomia ai se debugger. E su'esu'e e lou fai'ai le tele o lala code i le taimi e tasi ma tu'uina atu ia te oe se va'aiga lautele lautele o le code fa'atusatusa i debugger masani.

E mafai ona e fa'atusaina oe lava i se matai sili e ta'alo fusu ma mafaufau 3 aga'i i luma.

Ou te faʻaaogaina lenei metotia e naʻo aʻu laina muamua o le puipuiga. Ona ou faʻaaogaina lea o se debugger moni.

Ina ia aʻoaʻo pe faʻafefea ona faʻafefe i lou ulu, e tatau ona e faʻataʻitaʻi. A e faʻamaonia se fofo i se faʻafitauli ma maua se "tali sese", aua e te alu saʻo i le faʻamau faʻamau. Toe faitau le code ma mafaufau: "O le a le mea o loʻo tupu i lenei laina?", "E faʻafefea ona aʻafia le polokalama" a "pe afai" iinei?

O le auala lea e te mafaufau ai mo oe lava. I le aluga o taimi, o le a e aʻoaʻo e tusi le code ma debug i luga o le lele.

E uiga i le tusitala

Le auala na ou manumalo ai i pine auro e 3 mai le 4 i le Olimipeka Faakomepiuta
Andrei Margeloiu ose tagata fai polokalame e fiafia i pisinisi, amataga, ma fafo. E mafai ona e faafesootaia o ia luga ole LinkedIn.

Faaliliuga: Diana Sheremyeva

puna: www.habr.com

Faaopoopo i ai se faamatalaga