Mar a choisinn mi 3 a-mach à 4 buinn òir aig an Olympiad Coimpiutaireachd

Mar a choisinn mi 3 a-mach à 4 buinn òir aig an Olympiad Coimpiutaireachd

Bha mi ag ullachadh airson Cuairt Dheireannach Farpais Cruinne Google HashCode 2017. Is e seo am farpais as motha le duilgheadasan algorithmach air a chuir air dòigh le Google.

Thòisich mi ag ionnsachadh C ++ bhon toiseach san naoidheamh ìre. Cha robh eòlas sam bith agam air prògramadh, algorithms no structaran dàta. Aig àm air choreigin sgrìobh mi a’ chiad loidhne de chòd agam. Seachd mìosan às deidh sin, bha an fharpais phrògramadh gu math faisg. Bha mi airson faicinn dè cho math ‘s a bha an stoidhle prògramadh ionnsachaidh agam ag obair. Bha e na chothrom foirfe.

Às deidh dà latha de cho-fharpais, thàinig na toraidhean: choisinn mi am bonn òir.

Chuir e iongnadh orm. Bha mi air thoiseach air farpaisich le 5 bliadhna de eòlas. Bha fios agam gu robh mi air a bhith ag obair gu cruaidh, ach chaidh an coileanadh seo thairis air na bha mi an dùil. Thuig mi gur e prògramadh spòrs an cuspair a bh’ agam agus thàinig mi a-steach dha gun cheann.

Tha fios agam dè thug gu soirbheachas mi agus tha mi airson a roinn leat.

Mar a choisinn mi 3 a-mach à 4 buinn òir aig an Olympiad Coimpiutaireachd

Chaidh an artaigil eadar-theangachadh le taic bho EDISON Software, a tha a’ toirt aire do shlàinte luchd-prògramaidh agus am bracaist, a bharrachd air a’ leasachadh bathar-bog gnàthaichte.

Dè an cànan prògramaidh a thaghas tu

  • C++ - Molaibh gu mòr! Tha e gu math luath. Chan eil buileachadh algorithms a’ toirt mòran ùine air sgàth STL. Thathas a’ gabhail ri C++ anns a h-uile farpais. Sgrìobh mi a’ chiad loidhne de chòd agam ann an C ++.
  • C - Ionnsaich C ++ air sgàth an STL. Ma tha eòlas agad air C, faodaidh tu cuideachd prògramadh ann an C ++.
  • Tha Java na chànan prògramadh slaodach. Tha clas Big Integer ann, ach cha chuidich e mòran thu. Ma tha crìoch-ama aig farpais, le Java bidh thu gu cinnteach a’ dol thairis air. Cha ghabhar ri Java aig a h-uile farpais.

Càite an urrainn dhut eacarsaich

Tha mi a ’moladh Breitheamh Sphere Online (SPOJ). Tha e na ghoireas èifeachdach a thaobh meud agus càileachd. Tha luchd-deasachaidh agus fuasglaidhean rim faighinn air-loidhne ma thèid thu an sàs ann am fuasgladh cheistean. A bharrachd air an làrach seo tha mi a 'moladh Inneal SPOJ и seòrsachadh duilgheadas airson SPOJ.pl.

An toiseach, feumaidh tu d ’eòlas air na bunaitean a neartachadh

Aon uair 's gum fàs thu cleachdte ri co-chòrdadh a' chànain, tha cuid de dhuilgheadasan ri fhaighinn. Tòisich le duilgheadasan sìmplidh a dh 'fheumas cleachdadh. Aig an ìre seo, is e am prìomh rud an stoidhle prògramadh agad a dhearbhadh. Is dòcha gu bheil thu dèidheil air còd a sgrìobhadh le tòrr àite geal, is dòcha nach eil. Is dòcha gu bheil thu a’ cur na bragan air an aon loidhne ris an “ma tha”, no is dòcha gu bheil thu gan cur air loidhnichean eadar-dhealaichte.

Feumaidh tu an stoidhle prògramadh agad a lorg oir is e DO stoidhle a th’ ann.

Nuair a choimheadas tu air a shon, cuimhnich air dà phrionnsapal bunaiteach:

  • Bu chòir do chòd a bhith furasta a bhuileachadh. Bu chòir dhut a bhith a 'faireachdainn cofhurtail a' cur an gnìomh am fuasgladh a tha thu a 'tighinn a-steach. Carson? Oir rè farpais, is e an rud mu dheireadh a tha thu ag iarraidh a dhol air chall sa chòd agad. Tha e an-còmhnaidh nas fheàrr 5 mionaidean a bharrachd a chaitheamh a ’smaoineachadh air mar as urrainn dhut buileachadh a’ chòd a dhèanamh nas sìmplidhe na bhith a ’caitheamh 10 mionaidean a’ feuchainn ri obrachadh a-mach.
  • Bu chòir do chòd a bhith furasta a leughadh. Nuair a tha an còd furasta a leughadh, tha e furasta a dheasbad. Bheir sinn aghaidh air - bidh biastagan a’ tachairt fad na h-ùine. Tha fios agad air an fhaireachdainn sin nuair a tha 10 mionaidean air fhàgail agad agus nach urrainn dhut am mearachd damn a lorg? Gu dearbh nì thu. Gus an suidheachadh seo a sheachnadh, sgrìobh còd so-leughaidh. Cho luath ‘s a thòisicheas tu ga debugging, bidh coltas nàdarrach agus furasta a thuigsinn air a’ chòd.

Seo eisimpleir dhòmhsa stoidhle prògramadh.

Mar a leasaicheas tu do sgilean leasachaidh

Cleachd, cleachd agus barrachd cleachdaidh. Tha mi a’ moladh gun obraich thu tro na ciad 250 duilgheadas as so-fhuasgladh air adhart SPOJ. Fuasgail iad ann an òrdugh. Caith co-dhiù uair a thìde a’ smaoineachadh air fuasgladh gach fear dhiubh.

Na bi ag ràdh: "Tha an duilgheadas seo ro dhoirbh dhomh, feuchaidh mi ri fuasgladh fhaighinn air an ath fhear." Seo mar a tha luchd-call a’ smaoineachadh.

Gabh pìos pàipear agus peansail. Smaoinich air. Is dòcha gun lorg thu fuasgladh, is dòcha nach eil. Aig a 'char as lugha, leasaichidh tu smaoineachadh algorithmach. Mura h-urrainn dhut fuasgladh fhaighinn taobh a-staigh uair a thìde, coimhead airson fuasgladh deiseil air an fhòram no ann an artaigilean.

Dè a choileanas tu leis an dòigh-obrach seo? Ionnsaich mar a chuireas tu do bheachdan an gnìomh gu sgiobalta a’ cleachdadh còd. Agus dèan sgrùdadh air duilgheadasan clasaigeach agus algorithms.

San dàrna h-àite, feumaidh tu maighstireachd a dhèanamh air algorithms agus structaran dàta

Lean dòigh-obrach rangachd. An do thòisich thu a’ ruith gun fhios ciamar a choisicheadh ​​tu? Chan eil. An urrainn dhut skyscraper a thogail gun bhunait làidir? Chan ann a-rithist.

Chan urrainn dhut na ceumannan air an t-slighe ionnsachaidh a leigeil seachad. Ma bheir thu an aire dhaibh, bidh beàrnan eòlais agad. Thar ùine chan fhaigh iad ach nas miosa.

Tòisich le algorithms bunaiteach agus structaran dàta

Tha e duilich tòiseachadh. Is dòcha air sgàth ‘s nach eil fios agad dè a nì thu sgrùdadh an toiseach. Is ann air sgàth sin Chruthaich mi cùrsa bhidio “Algorithms and Data Structures”. Nuair a bha mi a’ cruthachadh a’ chùrsa seo, stèidhich mi e air mar a bu mhath leam a bhith air mo theagasg. Bha am freagairt iongantach! Shoidhnig còrr air 3000 oileanach bho chòrr air 100 dùthaich airson a’ chùrsa sa chiad mhìos.

Ma dh’ obraicheas tu air fuasgladh fhaighinn air duilgheadasan furasta, cha leasaich thu gu bràth.

Is e an dòigh as èifeachdaiche air na rudan nach eil fios agad a thuigsinn eòlas fhaighinn air ann an cleachdadh. Sin mar a dh’ ionnsaich mi. Dh’ ionnsaich mi iomadh dòigh ùr nach cuala mi a-riamh roimhe le bhith a’ taghadh gnìomh dùbhlanach.

Bu chòir do gach treas duilgheadas air a bheil thu ag obair rudeigin ùr a theagasg dhut. Bi nas faiceallach nuair a bhios tu a 'taghadh dhuilgheadasan. Tagh duilgheadasan nas duilghe!

Cho luath ‘s a chuireas tu crìoch air na 250 duilgheadas sin bho SPOJ, bidh tuigse bhunasach agad air prìomh chuspairean prògramadh spòrs. Le tuigse dhomhainn air an loidsig air cùl algorithms bunaiteach, bidh coltas nach bi algorithms àrd-ìre cho iom-fhillte. San dòigh seo faodaidh tu an fheum as fheàrr a dhèanamh den eòlas agad.

Cladhaich nas doimhne a-steach do gach prìomh chuspair

Seo goireas luachmhor le tòrr fiosrachaidh. An sin gheibh thu na 10 algorithms agus structaran dàta as fheàrr airson gach cuspair. Às deidh 250 duilgheadas bho SPOJ, bidh fios agad air mòran bhon liosta seo. Ach tuislichidh tu cuideachd air mòran de rudan nach cuala tu a-riamh roimhe. Mar sin tòisich a’ sgrùdadh nan cuspairean sin ann an òrdugh dìreadh.

Mura neartaich thu d’ eòlas às deidh dhut rudeigin ùr ionnsachadh, dìochuimhnichidh tu a h-uile dad gu sgiobalta.
Tha mi a 'moladh gun cleachd thu e ann an cleachdadh an dèidh dhut algorithm ùr ionnsachadh. Obraich e tro 2-3 gnìomhan. Coimhead airson an taga algairim ann an SPOJ. An sin gheibh thu duilgheadasan a dh’ fheumas an algairim seo fhuasgladh. Cuir aghaidh air na cùisean sin an toiseach.

Prìomh phrògramadh dinamic oir bheir e thu gu buaidh
Bhon eòlas agam, tha co-dhiù aon duilgheadas aig a h-uile farpais prògramadh fiùghantach. Bidh mòran dhaoine a’ faighinn ceann goirt nuair a chluinneas iad an abairt “prògramadh fiùghantach” leis nach eil iad ga thuigsinn idir.

Agus tha seo math. Oir ma thuigeas tu prògramadh fiùghantach, gheibh thu buaidh.

Is toil leam prògramadh fiùghantach, is e an cuspair as fheàrr leam. Is e dìomhaireachd prògramadh fiùghantach na roghainnean as fheàrr a dhèanamh air feadh na cruinne, chan e dìreach feadhainn ionadail. Feumaidh tu an duilgheadas a bhriseadh sìos gu fo-duilgheadasan nas sìmplidh. Fuasgail gach aon de na duilgheadasan sin dìreach aon turas. An uairsin cruthaich fuasgladh a bhios a 'ceangal nan duilgheadasan a chaidh fhuasgladh. Algairim sanntach - an aghaidh prògramadh fiùghantach. Feumaidh e na roghainnean as fheàrr a dhèanamh gu h-ionadail aig gach ceum. Agus faodaidh roghainn ionadail as fheàrr leantainn gu droch fhuasgladh cruinneil.

Nuair a bhios tu ag ionnsachadh bun-bheachdan ùra, thoir sùil air Cùrsaichean TopCoder. Tha iad gu math mionaideach agus so-thuigsinn. Taing dhaibh bha e comasach dhomh a thuigsinn craobhan clàr-amais binary.

Obraich gu cruaidh

An cuala tu a-riamh mu lùth-chleasaichean a bhuannaicheas na h-Oiliompaics gun bhliadhnaichean de chleachdadh? Chan eil mi.

Gach bliadhna, thòisich ullachadh airson an Oiliompaics Coimpiutaireachd san t-Sultain agus thàinig e gu crìch sa Ghiblean.

Gach latha airson na mìosan 8 seo bha mi ag obair airson 5 uairean.

Agus tha, chuir mi seachad na 5 uairean sin a-mhàin a 'fuasgladh dhuilgheadasan algorithmach. Tha cuimhne agam air na làithean nuair a bha mi ag obair airson 8 agus eadhon 10 uairean. Carson? A chionn 's gun do chòrd e rium. Gach latha nuair a thill mi dhachaigh bhon sgoil, chaidh mi dìreach chun an t-seòmar-cadail, shuidh mi sìos aig a 'choimpiutair agus thòisich mi a' sgrùdadh duilgheadas ùr. No bha mi ag ionnsachadh algorithm ùr a dh'fheumadh fios a bhith agam gus an duilgheadas seo fhuasgladh.

Ma tha thu airson buannachadh, feumaidh tu an aon rud a dhèanamh. Tagh duilgheadas agus cùm ris. Smaoinich mu dheidhinn fhad ‘s a tha thu a’ coiseachd chun mhòr-bhùth no fhad ‘s a tha thu a’ draibheadh.

Mar a choisinn mi 3 a-mach à 4 buinn òir aig an Olympiad Coimpiutaireachd

An robh fios agad, nuair a bhios tu a’ cadal, gu bheil an eanchainn agad a’ milleadh an fhiosrachaidh a chaidh a chruinneachadh an latha sin? Tha e coltach gu bheil e a’ cruachadh leabhraichean ann an òrdugh na h-aibideil air sgeilp leabhraichean. Gu bunaiteach, bidh an eanchainn agad a’ smaoineachadh mu na diofar dhuilgheadasan a tha agad.

Faodar seo a chleachdadh gu sgileil. Mus tèid thu dhan leabaidh, leugh duilgheadas duilich agus cuimhnich dè a bheir e gus fuasgladh fhaighinn air. Aig an ìre seo, chan fheum thu coimhead airson am fuasgladh fhèin. Theirig dha do leabaidh. Tòisichidh an eanchainn agad air an duilgheadas seo a làimhseachadh. Nuair a dhùisgeas tu, bidh e na iongnadh dhut gun do lorg thu am fuasgladh fhad ‘s a bha thu nad chadal.

Feuch e thu fhèin. Tha e coltach ri draoidheachd.

Chruthaich mi blog bhidio

Mar a choisinn mi 3 a-mach à 4 buinn òir aig an Olympiad Coimpiutaireachd

Chan eil am paragraf goirid seo co-cheangailte ri prògramadh spòrs. Ma tha thu sna ficheadan agad agus a’ faighneachd ciamar a chì mi an saoghal, is dòcha gum bi thu airson sùil a thoirt air am blog bhidio agam air Youtube. Bidh mi a’ bruidhinn mun t-saoghal, beatha agus saidheans coimpiutaireachd ann.

Obraich gu glic

Is e seo an dìomhair mu shoirbheachas. Feumaidh tu amasan.

Is e daoine a th’ annainn agus is toil leinn e prokrastinirovat. Tha sinn an-còmhnaidh ag iarraidh stad a chuir air na dh'fheumar a dhèanamh an-dràsta. Tha a bhith a’ coimhead Netflix an-còmhnaidh nas tlachdmhoire na bhith a’ dèiligeadh ri duilgheadasan prògramadh fiùghantach. Tha fios agad air seo agus feumaidh tu a chàradh.

Mar a gheibh thu buaidh air dàil

Suidhich amasan dhut fhèin. Gheibh thu an-còmhnaidh duilgheadasan inntinneach às an ionnsaich thu rudeigin ùr (thoir sùil air na goireasan air an tug mi iomradh gu h-àrd). Ach feumar na duilgheadasan sin fhuasgladh, chan ann dìreach leughadh mu dheidhinn.

Mar sin seo mar a fhuair mi thairis air dàil. Thòisich mi mìosachan pàipeir agus lìon mi gach latha le duilgheadasan a bha mi airson fhuasgladh. Lìon mi duilgheadasan an-còmhnaidh dà latha ro làimh. Mar sin bha fios agam mar a làimhsicheas mi m’ ùine anns na làithean a leanas.

Mar a choisinn mi 3 a-mach à 4 buinn òir aig an Olympiad Coimpiutaireachd

Mar sin bha mi an-còmhnaidh air mo bhrosnachadh. Dh'fheumadh mi cuid de dhuilgheadasan fhuasgladh agus feadhainn ùra a lorg airson na h-ath làithean air a' mhìosachan a lìonadh. Tha e math a bhith a’ dol thairis air duilgheadasan fuasglaidh. Tha fios agam gu bheil e a’ còrdadh riut cuideachd.

Luchdaich a-nuas phàipear-balla fhèin. Na cruthaich liosta ri dhèanamh eile air an fhòn agad a dhìochuimhnicheas tu a-màireach.

Mar a nì thu dì-bhugachadh gu h-èifeachdach

A bheil thu airson a bhith nad phroifeasanta? Ma tha, feumaidh tu “dì-bhugachadh nad inntinn.”
Is e seo an dòigh deasbaid as èifeachdaiche as aithne dhomh oir chan eil feum air dì-bhugadair idir. Bidh an eanchainn agad a’ sgrùdadh grunn mheuran còd aig an aon àm agus a’ toirt dhut sealladh farsaing nas fharsainge air a’ chòd an taca ri debugger clasaigeach.

Faodaidh tu coimeas a dhèanamh eadar thu fhèin agus maighstir-sgoile a bhios a 'cluich tàileasg agus a' smaoineachadh gu bheil 3 a 'gluasad air adhart.

Bidh mi a’ cleachdadh an dòigh seo a-mhàin mar mo chiad loidhne dìon. An uairsin bidh mi a’ cleachdadh fìor debugger.

Gus ionnsachadh mar a nì thu dì-bhugachadh nad cheann, feumaidh tu eacarsaich. Nuair a dhearbhas tu fuasgladh do dhuilgheadas agus a gheibh thu “freagairt ceàrr”, na rachaibh dìreach chun phutan deasbaid. Leugh an còd a-rithist agus smaoinich: “Dè tha a’ tachairt san loidhne seo?

San dòigh seo bidh thu a’ smaoineachadh dhut fhèin. Thar ùine, ionnsaichidh tu còd a sgrìobhadh agus dì-bhugachadh air an itealan.

Mun ùghdar

Mar a choisinn mi 3 a-mach à 4 buinn òir aig an Olympiad Coimpiutaireachd
Tha Andrei Margeloiu na phrògramadair dealasach le ùidh ann an tionnsgalachd, tòiseachadh agus a-muigh. Faodaidh tu fios a chuir ris air LinkedIn.

Eadar-theangachadh: Diana Sheremyeva

Source: www.habr.com

Cuir beachd ann