Competitive Programming Guide

Bevat advertensies
5 k+
Aflaaie
Inhoudgradering
Almal
Skermkiekieprent
Skermkiekieprent
Skermkiekieprent
Skermkiekieprent

Meer oor hierdie app

CP Handbook is die een plek vir alle mededingende programmeringsliefhebbers, aangesien dit al die algoritmes en datastrukture bevat. Elke onderwerp bevat ook voorbeelde en onopgeloste probleme vir oefening.

Mededingende programmering is 'n sport, bedoel ek letterlik. Neem enige sportsoort, kom ons kyk krieket daarvoor, jy stap vir die eerste keer in om te kolf. Swaai en mis, doen dit 'n paar keer, en jy sal uiteindelik een oor die toue slaan. Beskou 'n programmeringskompetisie metafories as 'n krieketwedstryd. Stel 'n kode saam en dien dit in; u kan 'n WA (verkeerde antwoord) kry.
Wysigings aan kode moet aangebring word, en uiteindelik kry u u eerste AC (Aanvaarde / Korrekte Antwoord). Laat my 'n voorsprong gee, ongeveer 20% van die vrae in 'n programmeringskompetisie is eenvoudige omskakeling van gewone Engels na 'n kode van u gunsteling programmeertaal.
Loop daar regs, jy leer die ongeskrewe reëls van die spel namate jy harder speel en beter word.
 En glo my, jy hoef nie 'n “fancy name” -algoritme of datastruktuur te ken om aan die gang te kom nie. Al ooit van 'Waft shot' gehoor, maar tog is jy die beste kolwer in jou straat, nie waar nie?

Laat ons die eerste 20% van die programmeringsprobleme daar buite oorwin.
U moet weet:
Intermediêre houvas op enige programmeringstaal
Engels! Omskep Engels na kode!
Laat ons 'n voorbeeldprobleem op hierdie vlak neem: Verskriklike Chandu

Al wat u moet doen is om die invoerreël van STDIN te lees en die teenoorgestelde van die reël na STDOUT te druk. Gaan voort, doen 'n voorlegging. Soek u eerste AC. Wil meer he? Ons het baie in ons oefenafdeling. Soek die persone met duisende korrekte voorleggings.

Okay, nou is jy gereed om die regte uitdaging aan te pak. Hou vas, ons duik dieper.

U moet weet:

1. Sorteer en soek algoritmes
2. Haas
3. Getalleteorie
4. Gulsige tegniek

Wat nog belangriker is, moet u uitvind wat, wanneer en waar om dit toe te pas. Dit word baie lastig en daarom help beginners 'n gevoel van vertroue dat ons 'n reeks kompetisies as Code Monk hou. Voor elke kompetisie gee ons 'n tutoriaal oor sekere onderwerpe en later in die kompetisie is die probleme slegs op daardie spesifieke onderwerp gerig. Ek sal u aanbeveel om deur die tutoriale te gaan en 'n vraag of twee oor elke onderwerp op te los.

U het nou al besef dat die vrae opgestel is om die manier waarop ons dink, te mislei. Soms, as u gewone Engels na kode omskakel, sal u eindig met die uitspraak van TLE (tydsbeperking oorskry). U moet 'n stel nuwe tegnieke en algoritmes aanleer om die tydsbeperkings te hanteer. In sekere gevalle kom Dynamic Programming (DP) tot die redding. Infact, u het moontlik al hierdie tegniek intuïtief gebruik. Daar is altyd ten minste een vraag in enige kompetisie wat deur DP opgelos kan word.

U sou ook opgemerk het dat daar vrae is wat net nie deur 'n lineêre skikking van datastrukture opgelos kan word nie.

1. Grafiekteorie
2. Disjoint Set Union (Union-find)
3. Minimum spanning boom

Hierdie stel datastrukture sal u redelik ver kry. Verder sou u kon dink dat die werklike kuns is om die tegnieke wat u ken te verander om 'n vraag op te los. Alle vrae op maklik-medium en medium vlak kan op hierdie manier aangepak word.

U is gereed om die topprioriteite van kort programmeringsuitdagings te beklee, hou net aanhoudend. Soos ek al genoem het, is dit 'n sport; jy sal dit nie bemeester voordat jy dit regtig doen nie. Gaan voort, neem deel aan 'n kort kompetisie, ken u sterk-, swakpunte en kyk hoe u die adrenalienmodus hanteer wanneer die klok tik.

Bly so lank as moontlik by u eie logika, en u sal uiteindelik met iets soortgelyk aan die algoritme kom wat u benodig om die vraag op te los. U hoef dit net op te borsel. Verskeie van hierdie tegnieke sal u help om die moeilikste probleme op te los.

1. Segmentboom
2. Stringalgoritmes
3. Probeer, agtervoegselboom, agtervoegsel-array.
4. Swaar ligte ontbinding
5. Grafiekkleuring, netwerkstroom
6. Sqrt-ontbinding.

Laai dus hierdie CP-handboek af en geniet dit om nuwe dinge te leer, en vergeet ook nie om dit met minder tydskompleksiteit te KODEER nie.
Opgedateer op
21 Mrt. 2021

Dataveiligheid

Veiligheid begin wanneer jy verstaan hoe ontwikkelaars jou data insamel en deel. Praktyke vir dataprivaatheid en -sekuriteit kan verskil op grond van jou gebruik, streek en ouderdom. Die ontwikkelaar het hierdie inligting verskaf en kan dit mettertyd opdateer.
Hierdie app kan die volgende datasoorte met derde partye deel
Ligging, Persoonlike inligting en 8 ander data
Hierdie app kan die volgende datasoorte insamel
Ligging
Data word nie geënkripteer nie
Data kan nie uitgevee word nie

Wat's nuut

** Algorithms enhanced