Pereiti prie pagrindinio turinio

Patarimai kaip pasiruošti ir spręsti Google Code Jam užduotis

Kvalifikacijos etapas jau čia pat ir Visma Lietuva Kovo 22 dieną 18:00 valandą organizuoja tiesioginę programavimo sesiją su daugkartiniu turnyro dalyviu Sauliumi Mockumi, kuris padės suprasti į ką reikia atkreipti dėmesį ir kaip spręsti kvalifikacinio etapo užduotis. Taip pat sužinosite kaip prisiregistruoti ir kodėl nereikia tikėti mitais apie turnyrą!

google code jam pasiruošimas

Įdomu tai, kad mūsų kaimynai Baltarusiai jau aštuonis metus iš eilės į namus parsiveža čempionų titulą. Vieną dieną, tai gal būt pavyks padaryti ir mums!

Tačiau dar labai dažnai lietuviai abejoja ar išvis verta dalyvauti tokiame turnyre. Galima išgirsti, kad tai per daug sudėtinga ir sunku, kad užduotis gali išspręsti tik tikri programavimo genijai ir t.t. Neslėpsime, tame yra tiesos, tačiau tai palikime konkurso antram, trečiam ir finaliniam etapams. 

Kvalifikacijos etapą gali praeiti kiekvienas, kuris naudojasi savo loginėmis žiniomis. Nors lietuviai turnyre sutinkami vis dar retai, bet kiekvienais metais dalyvių skaičius iš Lietuvos auga. Todėl galime įrodyti Google’ui ir visam pasauliui, kad Lietuvoje – daug kompetentingų IT inžinierių!

Todėl tikime, kad vieną dieną ir mes pateksime į Google Code Jam turnyro finalą ir nesvarbu, kuriame mieste jis vyktų Los Andžele, Niujorke, Dubline, Toronte, San Franciske ar Miunchene.

Patarimai pasiruošimui

  1. Spręsti ankstesnes užduotis, pasidaryti šablonus skaitymui rašymui.
  2. Pasiruošti svarbiausius (daugiausiai pastangų reikalaujančius algoritmus), pažiūrėti grafų algoritmus (trumpiausio kelio, max-flow, jungumo ir topologinį rikiavimą).
  3. Gali prireikti didelių skaičių bibliotekos (jei niekas nepasikeitė – C# atveju nepavyks naudotis BigInteger), dažnai užtenka (u)long, kartais reikia modulinės aritmetikos.

Patarimai sprendimui

  1. Kodo grožis nėra labai svarbus.
  2. Pirmuosius testus dažniausiai galima išspręsti paprastai (brute force, greedy, specialūs atvejai…).
  3. Rekomenduojama peržiūrėti visus uždavinius; išimtis – jei perskaitytas uždavinys labai lengvas (dažniausiai pirmasis), tada geriau jį pirma spręsti (bent jau small test case). Beveik visada apie uždavinio sudėtingumą galima spręsti pagal tai, kiek žmonių jį išsprendė.
  4. Jei duoti pavyzdžiai yra labai paprasti – galima spėti, jog egzistuoja paprastas algoritmas.

Dar neužsiregistravai?

Padaryk, tai dabar ir turėk galimybę laimėti Google Code Jam marškinėlius, bei Google Code Jam Cheat Sheet!

Registruokis

Populiariausi blog'ai

  • Migrating from Xamarin to .NET MAUI: A Comprehensive Guide

    The world of mobile application development is constantly evolving, and Microsoft’s .NET Multi-platform App UI (.NET MAUI) is at the forefront of this change. As an evolution of Xamarin.Forms, .NET MAUI offers developers a modern, cross-platform framework for building native device applications. This blog post will guide you through the process of migrating your existing Xamarin.Forms application to .NET MAUI.

  • My experience on taking the eWPTXv2 exam

    So a few months ago I had the joy of passing the eWPTXv2 exam. Well, it does not sound intriguing until you translate it into human language. The eWPTXv2 is actually eLearnSecurity Web Penetration Testing Extreme second version. Everything sounds better than you put extreme into it. Well, this is not that case since the exam is actually a bit hard.

  • Socialinis intranetas „Simoona“ – dabar prieinamas kiekvienam!

    Šiame blog’o įraše papasakosime apie vidinės komunikacijos įrankį, mūsų kurtą socialinį tinklą „Simooną“. Tik prasidėjus kūrybos procesui mums rūpėjo tik viena – kaip kuo daugiau įmonės kultūros perkelti į skaitmeninę erdvę. Ir prieš aštuonerius metus, net neįsivaizdavome, kad šis vidinis intranetas, bus toks svarbus kuriant glaudžius ryšius tarp kolegų ir tikrai net negalėjome nutuokti, kokia svarbi „Simoona“ bus užklupus pasaulinei pandemijai.