Lista de probleme 888

Filtrare

#2536 kst

Un KST este un arbore de căutare care are K valori în fiecare nod și fiecare nod are K+1 fii. De exemplu, pentru k=1, un KST devine un arbore de căutare binar. Valorile din fiecare nod sunt în ordine crescătoare. Notăm cu v[i], a i-a valoare dintr-un nod. Arborele are următoarea proprietate: pentru fiecare nod, primul său fiu va avea valori mai mici decât v[1], al doilea va avea valori aparținând intervalului (v[1], v[2]), al treilea va avea valori din intervalul (v[2], v[3]), …, penultimul fiu din intervalul (v[k-1], v[k]), ultimul va avea valori mai mari decât v[k]. Un nod nu poate avea fii dacă nu conține K valori. Frunzele pot avea și mai puțin de K valori. Se dă N – numărul de elemente și K, trebuie să se afle câți arbori care respectă cerința există.

Olimpiada internațională pe Echipe, 2018

Se dă un număr N și un număr S. Să se determine câte numere de N cifre au suma cifrelor S.

Se dau două șiruri de caractere, litere mici ale alfabetului englez. Să se afișeze cel mai lung subșir comun al lor.

Se dau două șiruri de caractere, litere mici ale alfabetului englez. Să se determine lungimea celui mai lung subșir comun.

Ionuț tocmai a terminat liceul și susține examenul de admitere la facultate. Știind că s-a pregătit foarte bine pentru examen, el dorește să își anunțe reușita după examen printr-o postare pe Facebook.
Ionuț cunoaște n utilizatori reprezentați de numerele de la 1 la n, între care există m relații de prietenie de forma i j, unde i și j sunt utilizatori, iar n și m sunt numere naturale nenule. Un utilizator nu poate fi prieten cu el însuși, iar o relație de prietenie între doi utilizatori ne spune că fiecare dintre ei este prieten cu celălalt.

Întrucât dorește ca postarea lui să fie cât mai răspândită, Ionuț vrea să afle care sunt utilizatorii cei mai bine conectați din mulțimea sa de cunoscuți, pentru ca eventual să le ceară prietenia. Pentru aceasta, Ionuț trebuie să găsească cea mai mare submulțime de utilizatori cunoscuți, în care fiecare utilizator din această submulțime are cel puțin k prieteni aflați la rândul lor în submulțime, unde k este un număr natural nenul.

Ajutați-l pe Ionuț să se determine și să se afișeze, printr-o soluție de complexitate timp cât mai bună, în funcție de datele de intrare, membrii celei mai mari submulțimi de utilizatori, cu proprietatea că fiecare utilizator din această submulțime are cel puțin k prieteni aflați la rândul lor în submulțime.

Durotan, căpetenia clanului Frostwolf, face o ultima încercare în a cuceri clanurile rivale (Orcish Horde). Conform ierarhiei Orcish, căpeteniile de clan sunt denumite warchief, în timp ce liderii triburilor sunt denumiți șamani. Triburile din care fac parte căpeteniile sunt triburi dominante, iar triburile conduse de șamani sunt triburi vasale. Pe planetă există N triburi, numerotate de la 1 la N. Șamanul unui trib are anumite abilități de luptă. Căpetenia unui clan este șamanul tribului său. Abilitățile de luptă cunoscute de șamani sunt numerotate de la 1 la M. De-a lungul timpului între triburile aceluiași clan s-au stabilit relații de vasalitate. Dacă tribul 1 este trib dominant al tribului vasal 2, iar tribul 2 are ca vasal tribul 3, vom spune că tribul 3 se află în zona de influență a triburilor 1 și 2. Triburile 1,2,3 alcătuiesc un clan. Puterea unei căpetenii depinde de numărul triburilor ce alcătuiesc clanul, precum și de abilitățile de luptă învățate. Căpetenia unui clan are anumite abilități de luptă, dar poate să-și însușească (învețe) și abilități de luptă unice de la șamanii triburilor clanului aflate în zona sa de influență. Prin abilități de luptă unice înțelegem abilități cunoscute doar de un singur șaman din totalitatea triburilor clanului. Fiind cunoscute pentru cele N triburi abilitățile fiecărui șaman, relațiile de vasalitate între triburi, numărul de ordine al unui trib al clanului Frostwolf, să se determine:
  • numărul total de clanuri
  • numărul de triburi din clanul Frostwolf înainte de duel
  • numărul maxim de triburi pe care Duroton le poate avea după invocarea codului Mak’gora.

#2515 berze

E primăvară și se întorc berzele. În satul nostru, stâlpii de la marginea drumului au vârfurile prea ascuțite și din această cauză berzele nu-și pot face cuib. Așa că e tristețe mare la noi… Dar ne-am adunat cu toții și am hotărât ca pe vârful unor stâlpi să instalăm câte un suport orizontal plan, astfel încât să nu-i fie greu unei berze să-și amenajeze cuibul. Avem n stâlpi la marginea drumului, dispuși liniar și numerotați de la 0 la n–1.

Un număr de m săteni au venit cu câte o restricție de forma i j, însemnând faptul că pe stâlpii din intervalul [i,j] se pot instala cel mult două suporturi pentru cuiburi de berze. Motivele acestor restricții sunt diverse, cum ar fi de pildă apropierea prea mare între anumiți stâlpi. Vom ține seama de ele pentru că vrem ca toți sătenii să fie mulțumiți.

Cunoscând n, m și cele m restricții, să se determine numărul de posibilități ca berzele să-și amenajeze cuiburi pe cei n stâlpi, modulo 700001.

Lot juniori Câmpulung Muscel, 2018

Într-o țară în curs de dezvoltare, într-un oraș oarecare, parcarea pe care primăria dorește să o construiască are formă dreptunghiulară și o putem codifica folosind o matrice cu L linii (numerotate de la 1 la L) și C coloane (numerotate de la 1 la C). Practic, pentru a o pava pe toată ar fi necesari L x C metri pătrați de dale. Firma care produce dalele și care este agreată de primar construiește dale cu lățimea de un metru și lungime care poate fi mai mare de un metru (dar o valoare întreagă). Firma asamblează dalele în pachete și toate pachetele au exact același conținut (dalele unui pachet pot avea lungimi diferite). Pentru că risipa banului public este în perioada sa de apogeu, primarul hotărăște să cumpere pentru fiecare coloană a parcării câte un pachet de dale și nu va putea folosi la pavarea acelei coloane decât dale din acel pachet. Se mai cunoaște și că în fiecare coloană este plantat exact un copac iar acesta nu va putea fi tăiat. Considerăm că un copac ocupă exact zona corespunzătoare unei dale 1 x 1.
După ce un consilier atrage atenția că e posibil ca structura pachetului achiziționat să nu permită pavarea oricărei coloane, primarul nefiind de acord cu această ipoteză hotărăște să te angajeze ca programator și să îi spui care este numărul de variante distincte de pavare a parcării. La numărarea variantelor trebuie ținut cont că toate dalele dintr-un pachet sunt de culori diferite. Considerăm distincte două modalități de pavare dacă există cel puțin o coloană unde același loc este acoperit de dale de culori diferite.

Lot juniori Tulcea, 2018

#2493 recc

Ana Mia are o recurență liniară de forma P[N] = A[1]*P[N-1] + A[2]*P[N-2] + A[3]*P[N-3] + A[4]*P[N-4], N ≥ 5. Studiind-o, îi vine o idee MAXIMĂ de problemă: “Pentru câte cvadriplete (P[1], P[2], P[3], P[4]) din mulțimea numerelor naturale [1, B] valoarea P[N] modulo K are valoarea X?”

#2492 pqstr

Se dau două numere naturale P şi Q şi un şir S = S[1], S[2], …, S[N] de numere întregi. Din şirul S trebuie ales un (P,Q)-subşir S[i1], S[i2], …, S[ik] astfel încât k ≥ 2 și P ≤ ij – ij-1 ≤ Q pentru orice j=2..k.
De exemplu, pentru P=2, Q=3 şi S=(2,-3,-7,-8,5,-1), subşirul (2,-3,-8) nu este (2,3)-subşir, dar subşirurile (2,-7,5) și (2,-7,-1) sunt (2,3)-subşiruri.
Pentru orice (P,Q)-subşir X = (S[i11],S[i2], ...,S[ir]), ne interesează valoarea expresiei
e(X) = |S[i1] - S[i2]| + |S[i2] - S[i3]| + ... + |S[ir-1] - S[ir]|
unde cu |a| s-a notat modulul numărului întreg a.
Să se calculeze şi să se afişeze E = max{e(X), X este (P,Q)-subşir al lui S}.