Despre Blog

# Linear Algebra Resources

Cosmin Negruseri
15 iunie 2017

Linear algebra is very useful in engineering. Usually in school it's a dry subject. The problems seem to be solved by mechanically following some rules without much intuition behind them.

Catalin Tiseanu recommended a short course on youtube with very good insights about geometrical intuition behind linear algebra concepts. I've enjoyed watching it and I highly recommend it.
Essence of linear algebra
Thanks Catalin!

For a Machine Learning view of Linear Algebra you can go through chapter 2 of the Deep Learning Book available online
Deep Learning, Chapter 2: Linear Algebra

I recently attended a Q&A session about this chapter and deep learning in general given by Yaroslav Bulatov (OpenAi, previously Google Street View). It has interesting content for all levels. You might even hear my voice asking tons of questions :).
Yaroslav Bulatov (OpenAi) Q&A Deep Learning Book, Chapter 2: Linear Algebra

The best introductory linear algebra resource is Gilbert Strang's course taught MIT. He explains things very clearly and with a lot of simple examples. It's all available on youtube!
Gilbert Strang MIT Linear Algebra Video Lectures
You may want to play it at 1.5 or 2x speed though :). There are a lot of lectures, you can skip to the ones you're interested in.

If you just want some visual intuition behind eigen values and eigen vectors there's a very good blog post:
Eigen Vectors and Eigen Values explained visually
where the authors have dynamic visualizations. It's super fun to move things around and observe the effects.

There are lots of applications of linear algebra:
- Pagerank, the algorithm behind Google's success is based on eigen values and eigen vectors
- the winning entry in the Netflix Prize was based on Singular Value Decomposition
- 3D games use matrix multiplications for computing rotations, translations, shearing transforms
- in machine learning figuring out if the function you are learning is well conditioned for Gradient Descent corresponds to having a small ratio between the min and max eigen value of the hessian matrix
- again in machine learning figuring out if you're in a saddle point, local minima or local maxima can be done by looking at the signs of the eigen values of the hessian in the current point
- and of course they are sometime used in coding contest competitions :) (fast matrix exponentation, gaussian elimination etc)

Have fun!

Categorii:

# infO(1) Cup

Mihai Calancea
07 aprilie 2017

CONCURSUL infO(1) CUP

Centrul Judeţean de Excelenţă Prahova lansează concursul "infO(1) CUP"!

Adresat tuturor elevilor si studenţilor pasionaţi de informatică, acesta presupune rezolvarea a 4-5 probleme de natură algoritmică pe parcursul a 5 ore. Întrucât se apropie Olimpiada Naţională de Informatică, considerăm că problemele pe care le propunem reprezintă un bun antrenament, dar şi o modalitate eficientă de a vă verifica cunostinţele în materie de algoritmică.

Aflându-se la prima ediţie, competiţia va avea numai o variantă online, însă sperăm ca, începând de anul următor, să organizăm şi o editie on-site! De remarcat faptul că proiectul este realizat în parteneriat cu Centrele Judeţene de Excelenţă din Olt, Neamţ, Sălaj, Satu Mare, Iaşi, Braşov şi Colegiul Naţional “Ion Luca Caragiale” Ploieşti.

Concursul constă în două runde:
Runda Naţională se va desfăşura pe 8 aprilie 2017 şi este adresată elevilor şcolarizaţi în Centrele Judeţene de Excelenţă din Romania. Din punctul de vedere al dificultăţii, această rundă este comparabilă unei runde Codeforces Div 2.
Runda Internaţională va avea loc pe 9 aprilie 2017 şi beneficiază de participarea unor echipe reprezentative din Bulgaria, Rusia, Republica Moldova, Serbia, Ungaria, Croaţia, Iran, Siria si Kazahstan.

Comisia ştiinţifică şi comisia tehnică sunt formate din elevi olimpici medaliaţi la Olimpiada Naţională şi Internaţională de Informatică şi absolvenţi ai unor prestigioase universităţi din lume.

Concursul va avea disponibilă şi o variantă online mirror. Înregistrarea este disponibilă pe site-ul concursului, prin intermediul form-ului de register înscriindu-vă la ambele probe. Variantele online mirror corespunzătoare celor două runde pot fi incepute sâmbătă, respectiv duminică, de la ora 15:00, participanţii alegându-şi un time frame de 5 ore în care pot simula concursul. Acestea sunt disponibile până duminică, ora 7:00, respectiv până miercuri, ora 15:00.
Informaţii suplimentare sunt disponibile pe site-ul competiţiei si pe blog-ul scris de pe Codeforces.

Mulţumim sponsorilor noştri şi tuturor celor care ne-au fost alături! De asemenea, le dorim mult succes participanţilor!

Categorii:

# Concursul National de Informatica "Adolescent Grigore Moisil"

Patrick Sava
20 martie 2017

Dupa doua editii in care initiativa unor elevi de la Colegiul National "Spiru Haret" din capitala a fost implementata cu succes, fiind sprijinita de conducerea liceului dar si de suportul material oferit de companii precum eMAG sau Siveco Romania, Concursul National de Informatica "Adolescent Grigore Moisil" revine cu cea de-a treia editie!

Avand un format de tip ACM-ICPC si adresandu-se tuturor elevilor din Romania, A.G.M incearca an de an sa reuneasca la Bucuresti elevi din cat mai multe judete ale tarii si sa creeze o atmosfera care sa ii incurajeze pe acestia sa se autodepaseasca pentru a reusi sa obtina un loc fruntas in cadrul competitiei.

Ca in fiecare an, initiativei noastre se alatura si persoane care nu au avut neaaparat vreo tangenta cu Colegiul National "Spiru Haret", dar care isi doresc ca prin sprijinul lor sa incurajeze toate persoanele din comunitate sa contribuie intr-un fel sau altul la buna dezvoltare a elevilor pasionati de informatica din Romania. Tin sa le multumesc tuturor acestor persoane si am sa incerc sa ii nominalizez pe toti cei care fac parte din aceasta categorie nu tocmai restransa :

- Echipa Infoarena, care ne-au sustinut inca de la prima editie si care prin ajutorul oferit si anul acesta raman un invariant atunci cand ne referim la A.G.M
- , , si . Impreuna cu ei, am reusit sa creez nucleul comisiei stiintifice, care s-a mentinut inca de la prima editie a concursului. De asemenea, ei reprezinta un exemplu foarte bun cand vine vorba de notiunea de "invariant".
- Fundatia eMAG , care ne-a sarit pentru al doilea an la rand cu un ajutor financiar si care, prin contributia sa, ne-a facut sa fim optimisti cu privire la faptul ca cea de-a treia editie se va desfasura in conditii cel putin la fel de bune ca a doua.
- Atooom Industry and Resources SRL , un nume complet nou pentru unii, destul de familiar pentru altii. Start-up-ul la care doi dintre cei sase membrii ai comisiei stiintifice lucreaza (in speta, eu si cu Teodor Ionescu) va contribui intr-un mod mai putin obisnuit la premierea participantilor : in functie de rezultatele obtinute la concurs, un numar limitat de participanti din top va avea ocazia sa lucreze pe perioada verii in cadrul unui stagiu de practica in firma, dand piept cu un tip diferit de programare fata de cea competitiva.

Chiar daca au fost mai putin vizibili de-a lungul primelor doua editii si nu fac parte din categoria de mai sus (majoritatea fiind elevi la Colegiul National "Spiru Haret" din capitala), tin sa felicit intreaga echipa organizatorica a A.G.M pentru munca depusa in vederea organizarii concursului in conditii optime.

Dupa cum bine stiti, inscrierile pentru elevii din afara Bucurestiului se vor incheia pe 20 martie la ora 23:59. Din fericire pentru cei care nu au apucat sa se inscrie, s-a decis prelungirea termenului cu inca doua zile, astfel ca acestia mai au dreptul sa se inscrie pana la data de 22 martie, ora 23:59. Participantii din Bucuresti pot efectua inscrierea completand formularul de inscriere incepand cu data de 21 martie, ora 00:00. In apropierea concursului, site-ul oficial al competitiei si pagina oficiala de Facebook vor fi in permanenta actualizate cu ultimele informatii.

Inchei prin a spune ca dincolo de aceste persoane minunate pe care le-am nominalizat si care au sprijinit concursul, responsabili de o mare parte din succesul pe care acesta l-a avut sunteti voi: comunitatea Infoarena.

Keep coding!

Categorii:

# Mindcoding 2017

Camelia Hanes
13 martie 2017

Avem plăcerea de a da start-ul celei de-a patra ediţii a concursului de algoritmică MindCoding, ce se adresează tuturor celor pasionaţi de algoritmi şi arta programării, care îşi doresc îmbunătăţirea performanţelor şi a abilităţilor tehnice, dar şi să îşi extindă orizonturile spre adevărata industrie a programării.

MindCoding este structurat în 4 runde online şi o etapă finală, ce va avea loc în municipiul Cluj-Napoca, România, în perioada 28 - 30 aprilie 2017.

După prima ediţie, site-ul competiţiei a devenit o platformă educaţională, unde programatorii pasionaţi, indiferent de vârstă, îşi împărtăşesc rezultatele cercetărilor şi soluţiile la probleme cu întreaga noastră comunitate, care a atins peste 2500 de prieteni pe reţelele de socializare datorită implicării noastre continue.

În această nouă ediţie, concursul constă în rezolvare de probleme, ce implică îmbinarea algoritmilor cu aplicaţiile lor în viaţa reală. Mai mult, ediţia a 4-a aduce în întâmpinarea candidaţilor o nouă posibilitate: candidaţii pot alege să participe la divizia 2, unde, în comparaţie cu divizia 1, problemele vor avea un grad de dificultate mai scăzut. Scorul obţinut în divizia a doua nu va reprezenta un criteriu de calificare pentru runda finală, dar încurajăm participarea în număr cât mai mare indiferent de experienţa curentă şi participarea în divizia 1 în rundele următoare, în lupta pentru locul meritat în finală.

Fiecare rundă online se desfăşoară pe parcursul a 90 de minute, suficiente pentru rezolvarea a 4 probleme de algoritmică. Fiecărei probleme i se asociază la început un punctaj între 100 şi 1000, care scade odată cu trecerea timpului. Alegerea strategiei potrivite şi entuziasmul pot fi cheia pentru transformarea experienţei algoritmilor într-una remarcabilă.

Scorul total obţinut pentru calificarea în finală va fi calculat ca suma punctajelor obţinute de fiecare participant în toate rundele la care au participat în divizia 1. Următoarele categorii de participanţi vor ocupa locuri în finală: 15 concurenţi absolvenţi de liceu care nu locuiesc în Cluj-Napoca, 5 elevi din afara oraşului Cluj-Napoca, 20 de concurenţi absolvenţi de liceu din Cluj-Napoca, 10 elevi din Cluj-Napoca şi 5 concurenţi internaţionali.

După cele patru runde de calificare şi cele două runde finale, cei mai talentaţi şi vigilenţi participanţi vor fi recompensaţi cu 10 premii consistente, în bani.

Cu ocazia ultimei etape organizate la Cluj-Napoca, concurenţilor le va fi răsplătit efortul cu premii generoase, oferite de companii cunoscute precum eMAG, Bitdefender, Bosch şi TakeoffLabs. De asemenea, în atenţia participanţilor vor fi ofertele de job sau internship, interacţiunile cu participanţi la etapa internaţională a olimpiadei de informatică şi nu numai.

Le urăm mult succes participanţilor şi ne bucurăm să ne întâlnim şi în 2017 în comunitatea MindCoding!

Categorii:

# Interview puzzle: Count distinct (2)

Cosmin Negruseri
24 februarie 2017

Here's a fun question from Marius Dumitran.

Website visit counter: Given n log lines from a website, design a datastructure that can answer count_distinct queries efficiently. Log lines are given in sorted order and contain a timestamp (int64) and a user_id (int_64). count_distinct queries have a two int64 parameters: start_time and end_time. For each query you have to return the number of distinct users that have visited the website in the time range [start_time, end_time].

For example given the log lines
(0, 1)
(1, 2)
(2, 2)
(3, 1)
(4, 3)
(5, 1)
(6, 2)
(7, 3)
And the query count_distinct(1, 5), you should return 3, since we have user 2 visiting twice in that time range, user 1 visiting twice as well and user 3 visiting only once.

Categorii:

# Catalysts Coding Contest 2017 Bucuresti

Mihai Calancea
10 ianuarie 2017

Catalysts Coding Contest este un concurs popular printre programatorii romani. Anul acesta, pentru prima data, se va desfasura si in Bucuresti, in cadrul Facultatii de Matematica si Informatica a Universitatii Bucuresti. In continuare va redam mesajul organizatorilor. Spor la treaba!

Dear Coder!

On 31 March 2017 the Catalysts Coding Contest (CCC) is coming to Bucharest!

The CCC is the largest programming competition in the German-speaking countries and among the Top 10 across Europe. This year the contest will be organized on an international level in several host cities in Germany, Spain, Belgium, Austria, France, South Africa, Nepal.

The University of Bucharest will be one of the Romanian hosts of the contest.

Whether it is C++, Java, .NET, JavaScript, Smalltalk, MATLAB or Excel - with us, everything is allowed, the target (an algorithm organized on 7 levels) is given, the path (any programming language you prefer) is left to everyone.

Prepare yourself for an exciting afternoon where you´ll meet a lot of people who share your passion. Make some noise at the contest and show us that you‘re up for the challenge!

Where: Str. Academiei 14, Sector 1, 010014, Bucharest – Faculty of Mathematics and Informatics

When: Friday, March 31, 15:00 - 19:00

- You have to register online first, before participating. Register here for both the CCC and the Online School CCC.
- You can participate individually or in teams of 2 or 3 people.
- You will use your own, personal laptop ; every team will only use one laptop.
- On our website you will find the Catcoder Platform for practicing with many examples of past contests.
- In the Hall of Fame you can compare your results with the best programmers of the last years

We are very pleased to welcome you at the CCC!*

Categorii:

# Retrospectiva anului 2016

31 decembrie 2016

Anul 2016 mai are câteva ore până la final, aşa că avem o bună ocazie să ne amintim care au fost cele mai importante evenimente pentru comunitatea informatică din România, petrecute în decursul ultimelor 365 de zile. Ca de obicei, lista este pur subiectivă, aşa că vă invit să o com(ple|en)taţi pe forum.

### Girl power

Să fi rezolvat România cea mai importantă problemă din informatică? Nu, nu mă refer la P vs NP, ci la faptul că ştiinţa calculatoarelor părea a nu fi un domeniu atractiv pentru fete. Ei bine, anul acesta, foarte multe dintre rezultatele bune la competiţiile naţionale şi internaţionale se datorează lor. Aşa că ar fi nedrept să nu le menţionăm aici, pe prima poziţie în lista noastră, şi să le felicităm cum se cuvine pe:

• : Aur la JBOI, Argint la RMI, Bronz la Shumen (juniori), Locul I la ONI, Locul I la finala Algoritmiada juniori
• : Aur la JBOI, Argint la RMI, Argint la Shumen (juniori), Locul IV la ONI, Menţiune la finala Algoritmiada juniori
• : Argint la JBOI, Locul I la ONI
• : Bronz la RMI, Locul II la ONI, Menţiune la finala Algoritmiada seniori
• : Bronz la Shumen (seniori)
• : Locul I la ONI
• : Locul III la ONI

Deşi la IOI, CEOI şi BOI am trimis în continuare echipe compuse doar din băieţi, am o presimţire că în următorii ani acest lucru se va schimba şi că vom avea inclusiv o fată în echipa de IOI. O singură întrebare rămâne: cine va fi aceasta?

### CEOI

La 7 ani după ediţia din 2009, CEOI a revenit în România, având loc în perioada 18-23 iulie la Piatra Neamţ. După ce ne-a împărtăşit gândurile lui despre competiţie din punctul de vedere al concurentului, iată şi un inside view din partea mea, ca membru al comisiei:

• E greu să estimezi dificultatea unui set: credeam că vom avea punctaje de 100 pe problema Kangaroo din prima zi, şi măcar un scor mai mare de 29 pe problema Trick. Noroc că ne-am descurcat mai bine cu ziua 2. :)
• E mult mai multă presiune când eşti membru în comisie decât atunci când participi. Concurenţi, o să vă fie dor de vremurile bune.
• Melodia Trandafir de la Moldova era notificarea că un concurent a pus o întrebare.
• Am jucat prea mult Pokemon Go pentru binele nostru. Aveam inclusiv o problemă de rezervă cu tematică Pokemon.
• Să primeşti aprecieri de la liderul delegaţiei Poloniei produce un sentiment unic.
• Comisia a avut parte de o excursie la un baraj. Nu s-a făcut absolut nicio glumă pe acest subiect. ;)

Echipele României au obţinut şi ele rezultate frumoase la CEOI, dar despre asta în secţiunea următoare.

### Rezultate internaţionale

La nivel de liceu, singurul lucru care ne-a despărţit de a avea un an excelent din punct de vedere al rezultatelor internaţionale a fost neobţinerea unei medalii de aur la IOI, lucru care nu s-a mai întâmplat din 2011. Poate că un lot aflat între generaţii, excesiv de "dopat" cu tehnici şi cu prea puţină experienţă la ad-hoc-uri explică această prestaţie mai modestă la cea mai mare competiţie internaţională. Cu toate acestea, rezultatele individuale ale membrilor loturilor sunt importante şi merită notate:

• : Argint la IOI, Aur absolut la BOI, Aur absolut la Shumen (seniori), Aur absolut la Yakutia şi Aur la RMI
• : Argint la IOI, Aur la BOI, Aur la Shumen (seniori) şi Argint la RMI
• : Argint la IOI, Argint la BOI, Argint la Shumen (seniori) şi Aur la RMI
• : Bronz la IOI, Bronz la CEOI
• : Argint la JBOI, Aur la Shumen (juniori), Argint la RMI
• : Aur la CEOI, Argint la Shumen (seniori)
• : Bronz la CEOI, Aur la RMI
• : Argint la Shumen (seniori), Argint la Yakutia, Argint la RMI
• : Argint la CEOI, Bronz la Shumen (seniori), Bronz la RMI
• : Argint la Shumen (juniori), Bronz la RMI
• : Bronz la CEOI, Argint la RMI
• : Argint la CEOI, Bronz la RMI
• : Bronz la Shumen (seniori), Argint la RMI
• : Argint la BOI
• : Bronz la CEOI
• : Bronz la RMI

La nivel universitar, România este reprezentată pentru prima oară de către două echipe la finala ACM. Acestea sunt:

• Echipa Universităţii Politehnica din Bucureşti:
• Echipa Universităţii Bucureşti:

Nu în ultimul rând, trebuie să spunem că anul acesta trei români au ocupat locul I la concursuri online: a câştigat SRM 678 Div 1, iar şi au câştigat Codeforces Round #371 Div 1, respectiv Div 2.

Îi felicităm pe toţi şi le urăm mult succes pe anul ce urmează!

### 2017

Ce ne aşteaptă în 2017? Generaţia care a absolvit anul acesta nu a dat foarte mulţi membri în lot, aşa că preconizez că lotul lărgit va rămâne în mare parte constant, sperând şi la o creştere valorică a membrilor lui. Poate, de ce nu, să obţinem din nou o medalie de aur la IOI?

Vorbind despre IOI, competiţia va avea loc anul acesta la Teheran, aşa că poate ar fi util celor care au pretenţii de calificare să rezolve probleme propuse de iranieni (numeroase concursuri de pe Codeforces au fost propuse de aceştia).

În speranţa că cele câteva New Year's Resolutions de anul trecut (care, apropo, sunt valabile şi pentru anul acesta) v-au fost utile pe 2016, vă las şi acum câteva pentru anul ce urmează:

• Învăţatul de tehnici de programare este bun, până la un punct. Mai bine investiţi-vă timpul gândindu-vă la probleme de idee, ad-hoc-uri, decât în a învăţa cel mai rapid algoritm de FFT.
• Ca şi anul trecut, nu pot spune suficient de apăsat că participarea la concursuri este utilă: Algoritmiada, Codeforces, USACO, COCI, TopCoder, Mindcoding şi CSAcademy sunt doar câteva dintre cele la care puteţi să vă pregătiţi.
• Lucraţi mai organizat şi mai eficient: alegeţi-vă cu grijă problemele pe care le lucraţi, ca timpul pe care îl investiţi în pregătire să nu se irosească pe probleme uşoare.

În loc de încheiere, o previziune... numerologică: numere norocoase pe 2017: 3 şi 4.

Categorii:

# Starea natiunii 2016 - Bun venit la scoala

Cosmin Negruseri
14 septembrie 2016

Infoarena creste ca trafic de la an la an. In total avem 70 de milioane de pageviews de cand strangem date pe google analytics (candva in 2007).

M-am gandit ca ar fi interesant sa ne uitam la niste date. Graficele au scara de inaltime diferita, deci nu se pot compara unul cu altul usor.

Forumul si-a pierdut din activitate. In jurul lui s-a format comunitatea infoarena. Pagina noastra de facebook https://www.facebook.com/infoarena/ are cateva postari (95% dintre ele puse de mine :) ) are aproape 3000 de likeuri, dar nu are o comunitate vibranta.

In schimb va recomand calduros clubul de info https://www.facebook.com/groups/349814335155898/ All the cool kids are there.

Pe blog primeam initial 100 si ceva de views pe articol. 200 daca articolul era mai popular. O data ce am inceput sa avem grup pe facebook adaugam linkul si pe pagina pe facebook. Primim de acolo 700 - 1000 de vizite.

Pozele cu echipa romana la IOI primesc in jur de 3000 - 5000 de vizite. E continutul preferat de cei ce au dat like la pagina infoarena. Linkuri cu articole despre olimpici in ziare de circulatie mare din nou sunt foarte apreciate pe pagina noastra de facebook.

De-a lungul timpului discutam in interiorul echipei despre modalitati de a creste comunitatea. O idee era sa facem siteul in engleza pentru ca deja am atins toti elevii pasionati de info din tara.

In 2011, 2012 am incercat sa scriu mai frecvent, sa am invitati pe blog. Apoi am vrut sa testez ideea cu comunitatea internationala si am inceput sa scriu in engleza. Rezultatele au fost foarte interesante, am adus cititori noi. Dar ei nu ramaneau si nu deveneau mebrii ai comunitatii. Puteti observa experimentul in graficul traficului pe blog:

Cele mai populare articole pe blog:

1. blog/numbers-everyone-should-know
2. blog/oji-kit-3
3. blog/meet-in-the-middle
4. blog/square-root-trick
5. blog/sfaturi-pentru-interviuri
6. blog/rolling-hash
7. blog/girls-programming-camp-2011
8. blog/interviu-mihai-patrascu-partea-intai
9. blog/cum-sa-scrii-un-cv

Blog posturile in engleza le-am postat pe reddit. Cate unul imi lua in jur de 10 ore de munca. Am avut in 2 zile in jur de 100 000 de pageviews petru Numbers Everyone Should Know.

Pe blog avem in total 780 000 de views. Raspunsurile mele pe quora au rezultate mai bune.

Sunt bucuros ca csacademy a luat ideea cu comunitatea internationala in serios.

Alta optiune pentru infoarena ar fi sa fie mai putin elitista. Asa a aparut arhiva educationala, care e una dintre cele mai populare parti ale siteului. Pe aceasi directie pbinfo facut de profesorul Silviu Candale de la Colegiul National "Liviu Rebreanu", Bistrita e o resursa foarte buna pentru elevii ce lucreaza informatica la clasa.

Grafic bonus - articole

Cam atat :). Sper ca v-au placut statisticile.

Bun venit la scoala, la cat mai multe probleme rezolvate!

Categorii:

Mihai Calancea
05 septembrie 2016

Finala Algoritmiada 2016 va avea loc în perioada 22-24 septembrie, la Cluj. În acelaşi timp şi spaţiu are loc şi Finala ONIS. Finala Algoritmiada va avea loc Vineri, 23 septembrie, iar Finala ONIS va avea loc Sâmbătă, 24 septembrie. Un program complet al weekend-ului respectiv va apărea în curând :).

Puteţi găsi aici lista cu concurenţii calificaţi la runda finală. Criteriile de calificare fiind uşor mai complicate decât în trecut, iar informaţiile de pe conturile concurenţilor fiind deseori incomplete, este posibil ca lista să conţină greşeli. Rugăm toţi concurenţii interesaţi de desfăşurarea finalei să verifice lista şi să ne semnaleze eventualele greşeli. Puteţi vedea criteriile de calificare în runda finală aici. Lista va fi considerată finală Duminica, 11 septembrie, la ora 23:59.

Calificati Juniori:

NumeClasa
8
8
7
7
6
6
?5
?5
8
9
8
8
8
9
9

Calificati Seniori:

NumeClasa
9
9
9
10
10
10
11
11
11
12
12
12
Open
Open
Open
Open
Open
11
11
10
10
11
9
10
11
Categorii:

# Ganduri despre Central European Olympiad in Informatics

Marian Darius
03 august 2016

Dupa cum mi-am format un obicei, desi de data asta cu putina intarziere, voi face un topic legat de concursul CEOI 2016. In primul rand, rezultatele Romaniei au fost:

Romania 1:
Radu Muntean - 179, locul 20, bronz
Alex Tatomir - 180, locul 19, bronz
Vlad Rochian - 292, locul 8, argint
Bogdan Iordache - 134, locul 31

Romania 2:
Darius Marian - 359, locul 5, aur
Sebastian Nechita - 187, locul 17, bronz
Stefan Buliga - 268, locul 10, argint
Andrei Chiriac - 155, locul 25, bronz

Felicitari tuturor!

Dupa cum am facut si pentru BOI 2015, respectiv Yakutia 2015 si 2014, voi scrie si cateva impresii / experiente personale legate de acest concurs:
- Eu am intalnit pentru prima oara o problema de tipul "Multi-run", in care programul scris se evauleaza de mai multe ori, cu fiecare run pe alt input, iar unele run-uri pe input egal cu outputul generat de o rulare anterioara. Acest stil s-a manifestat aici prin problema "Trick" din prima zi, in care trebuia sa joci pe rand rolul a doi asistenti si apoi a unui magician ce se folosea de ce ii spuneau cei doi asistenti. Nu trebuie sa te gandesti foarte mult pentru a iti da seama ca acest sistem deschide usa spre o gama foarte larga de probleme superbe, printre care dupa parerea mea si aceasta. Problema insa a fost ca "Trick" era putin prea grea, sau poate mai bine zis, nu chiar potrivita unui concurs pe sistemul 3 probleme in 5 ore. Se poate vedea din rezultate, unde cativa insi au reusit formidabilul scor de 29 de puncte, restul fiind toti cu 0.
- Tot in ziua 1 au mai fost o problema de dinamica "Cangur" si o problema interactiva "Icc" care nu se poate incadra foarte bine in vreo tehnica. Cangur era din nou o problema destul de frumoasa, cu o reducere de la O(N3) la O(N2) intr-un loc foarte neasteptat, insa din nou, dupa parerea mea, foarte grea (nimeni nu a reusit la concursul on-site sa rezolve problema integral, scorul maxim fiind de 51 de puncte pe ea pentru O(N^3)). Problema "Icc" aducea insa putin balans setului, fiind o problema "relativ" usoara, cand comparata cu celelalte 2. Aceasta au facut-o majoritatea medaliatilor. Apare totusi o problema cand exista o singura problema accesibila intr-un concurs: foarte multe scoruri egale. Dupa prima zi, locurile 4-9 aveau cu totii 151 de puncte. Overall, o zi frumoasa, dar se putea si mai bine.
- In ziua 2 insa, lucrurile s-au schimbat destul de radical. Problema "usoara" nu a facut-o locul 1. Problema "grea" a facut-o locul 25 (bine Chiriac Smile ). Problema medie au facut-o 4 sau 5 insi. Ce mi s-a parut interesant era ca toate 3 erau cel putin accesibile, adica concurentul "mediu" al concursului putea face in 5 ore cel putin una dintre probleme, indiferent care. Mi se pare ca problemele au fost mult mai bine alese in ziua 2 fata de ziua 1, atat pentru departajare (nicio egalitate de punctaj in primele 17 de locuri) cat si pentru experienta placuta a concurentului.
- Totusi, nici ziua 2 nu a fost perfecta. Problema "Match" avea limita scrisa gresit in enunt (N <= 106 in loc de 105), iar cu limita de 0.15 secunde era greu de crezut ca s-ar vrea O(N * sigma) nu O(N). Drept urmare, la concursul online, un polonez a rezolvat problema in O(N), mai bine decat solutia comisiei, luand in acelasi timp 300 in ziua respectiva (wow). De asemenea, testele nu erau cele mai bune, pentru ca desi toate solutiile implementate in concurs se comportau foarte bine in practica, fiecare avea un anumit "Edge-case" care mergea in O(N^2) (de a mea nu sunt sigur, inca nu am gasit ceva ce sa mearga prost, dar sigur exista). Full feedback pe 4 probleme din 6, super tare.

Una peste alta, concursul a iesit bine. Nu incape nici o indoiala. Pentru mine cel putin, a fost cel mai bun concurs international la care am participat vreodata. Nu doar ca rezultat, cat si ca experienta de concurs, experienta in afara concursului, socializare, tot. Multe felicitari comisiei (tuturor comisiilor), probleme superbe, putine `scapari`, si alea relativ mici, organizare buna, oras frumos, tot ce trebuia. O seara faina!

Categorii:
Vezi pagina: 12 34567... 3637383940 (393 rezultate)