Diferente pentru blog/onis-2016-1-editorial intre reviziile #18 si #19

Nu exista diferente intre titluri.

Diferente intre continut:

Concursul a început după cum era de aşteptat cu submisii la problema *A. MaxSubSum*. Conform tradiţiei, surprinzător de mulţi concurenţi au trimis soluţii care nu foloseau tipuri de date pe 64 de biţi. Atragem atenţia aici şi asupra faptului că tipul *long* nu are 64 de biţi pe platforma noastră. După cum puteţi citi (spre exemplu) 'aici':https://software.intel.com/en-us/articles/size-of-long-integer-type-on-different-architecture-and-os, este o soluţie mult mai bună să folosiţi mereu tipul *long long*, care nu variază la fel de mult în funcţie de arhitectură. Participanţii la OJI să ia aminte :)
A urmat problema *F. Pokemon*, ca dovadă că enunţurile complicate nu implică soluţii complicate, o lecţie valoroasă pentru majoritatea concursurilor de informatică.
A urmat problema *F. Pokemon*, ca dovadă că enunţurile lungi/complicate nu implică neaparat soluţii lungi/complicate, o lecţie valoroasă pentru majoritatea concursurilor de informatică. Pentru idei de optimizare, puteţi citi 'aici':operatii-pe-biti despre cum operaţiile pe mulţimi se împacă foarte bine cu operaţiile pe biţi.
 
Problema *C. Minlcm* avea nevoie de observaţia că e mai productiv să iterăm peste posibilii divizori comun, decât peste un membru al perechii şi de ideea folosirii unui 'ciur':problema/ciur pentru a o implementa oficient. Mai avea nevoie şi de întregi pe 64 de biţi :).
 
Problema *D. Unlock* necesita în primul rând puţină imaginaţie pentru a crea un test în care soluţia brută chiar se comportă foarte prost (idei?). Apoi, era nevoie de o soluţie care se amortiza peste mărimile tuturor componentelor colorate şi o implementare grijulie. Nimeni nu a reuşit să rezolve aceasta problemă din prima submisie, deci ar fi cazul să ne şlefuim puţin abilităţile de implementare :).
 
Apropo de implementare, un skill care pare să lipsească aproape universal participanţilor este acela de a-şi simplifica ideile înainte de a le implementa. Să implementezi bine o problemă nu înseamnă doar rezistenţă şi putere de concentrare în faţa a 300 de linii de cod, ci şi abilitatea de a le transforma în 120 de linii, atunci când problema o permite. În cazul de faţă, problemele *G. Puzzle2*,  *B. Avioane2* şi într-o anumită măsură *D. Unlock* se pretau la a fi "supra-implementate".
 
Problema *I. Nucleul Valoros 2* avea nevoie de o optimizare subtilă a recurenţei descrise în enunţ. Puteţi găsi 'aici':http://codeforces.com/blog/entry/8219 un blogpost în care sunt enumerate mai multe metode de a optimiza anumite tipuri de recurenţe.
 
În continuare, aveţi soluţiile problemelor în detaliu :).
*A. MaxSubSum*

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.