#4229
Bujorel s-a apucat de pomicultură şi a însămânţat un arbore (graf conex aciclic) cu N
noduri, fiecare nod având o culoare dată dintr-un interval [1, K]
. Acum, după ce arborele a crescut, el doreşte să ştie, pentru fiecare culoare, suma distanţelor dintre toate perechile de noduri ale arborelui ce au culoarea respectivă. Distanţa dintre două noduri se defineşte ca fiind numărul de muchii de pe drumul dintre cele două noduri. Deoarece Bujorel a folosit foarte mult îngrăşământ la plantarea arborelui, acesta a crescut foarte mult şi voi trebuie să scrieţi un program care calculează suma distanţelor dintre nodurile cu aceeaşi culoare.
Lot Resita 2012
#1757
În timp ce-și bea sortimentul preferat de vin sec, vrăjitorului Arpsod i-a venit în minte o problemă de informatică ce are un enunț cel puțin la fel de sec și anume:
Dându-se un arbore binar cu N
noduri și rădăcina în nodul 1
, să se răspundă la Q
întrebări de forma: “sunt cei doi fii ai nodului X
identici?”
Doi fii sunt identici dacă au același număr de subarbori și aceștia sunt identici (mai exact, pentru orice i=1, 2, ..., N
subarborele i
al primului este identic cu subarborele i
al celui de-al doilea).
Cunoscându-se arborele, să se răspundă la cele Q
întrebări de forma indicată în enunţ.
Concursul EMPOWERSOFT, 2016
#1788
Regele Leonidas trebuie să-și aleagă o armată de 300 de spartani. Surprins de mulțimea mare de voluntari care vor să-l urmeze în viitoarea luptă de la Termopile, regele are nevoie să facă o selecție a războinicilor. Astfel, el a decis să le dea următoarea problemă:
Se dă un arbore cu N
noduri (etichetate cu numere consecutive începând de la 1
) cu rădăcina în nodul 1
, în care fiecare muchie are asociat un cost. Se definește un lanț în jos în arbore ca fiind orice lanț simplu ce unește un nod A
cu alt nod B
din subarborele lui A
. Cu alte cuvinte, un lanț în jos este un lanț de la A
la B
în care A
este strămoș al lui B
. Definim costul unui lanț în jos ca fiind suma costurilor muchiilor din care este format lanțul.
Numim acoperire a unui arbore o partiționare a muchiilor în lanțuri disjuncte, a căror reuniune este arborele inițial. Regele Leonidas dorește să acopere întreg arborele cu lanțuri în jos, însa are un număr limitat de lanțuri, notat în continuare cu S
.
Se cere să se determine cel mai mic număr K
pentru care să existe o partiționare completă a arborelui cu maxim S
lanțuri astfel încât costul fiecărui lanț să fie cel mult K
. Dacă nu există un astfel de număr K
, să se afișeze -1
.
Pentru că și tu vrei să lupți alături de Leonidas pentru libertatea Spartei, trebuie să rezolvi această problemă ca să-ți asiguri un loc în primii 300 de spartani. Leonidas este un rege înțelept. Ca să se asigure că nu vor exista Spartani care vor încerca să ghicească rezultatul, el vă cere să răspundeți la T
astfel de probleme.
Concursul Interjudeţean de Matematică şi Informatică Grigore Moisil, 2016
#1976
Definim recursiv nivelul unui nod într-un arbore cu rădăcină astfel:
• nivelul rădăcinii este 0
• nivelul fiilor unui nod cu adâncimea H
este H+1
Fie S(R,H)
numărul de noduri din subarborele cu rădăcina în R
și care au adâncimea H
. Subarborele nodului R
îl include și pe el însuși. Doi arbori cu rădăcinile R
și R’
sunt similari numai dacă S(R,H)
este egal cu S(R’,H)
, pentru oricare număr natural H
.
Se consideră un arbore cu N
noduri și rădăcina în nodul 1
. Nodurile sunt numerotate de la 1
la N
.
Fie TX
= subarborele cu rădăcina în nodul X
. Se cere să se calculeze numărul de perechi (X,Y)
astfel încât subarborii TX
și TY
sunt similari și X<Y
.
Info Oltenia 2017, Clase XI-XII echipaje
#2477
Tanaka are un arbore (un tri) cu N
noduri numerotate de la 1
la N
. El vrea să coloreze nodurile arborelui în alb sau negru astfel încât numărul de perechi (neordonate) de noduri înfrățite să fie maxim. Două noduri sunt înfrățite dacă și numai dacă ambele sunt albe și fie sunt legate direct printr-o muchie, fie lanțul elementar unic dintre ele conține doar noduri negre.
Dându-se un arbore cu N
noduri, să se afle numărul maxim de perechi de noduri înfrățite ale sale care se poate obține.
ONI 2018 clasele XI-XII
#2536
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
#2971
Se dă un arbore cu N
noduri, numerotate de la 1
la N
. Arborele se va transforma astfel: la oricare etapă fiecare nod de gradul 1
diferit de rădăcină din arborele actual se înlocuiește cu un arbore identic cu cel dat inițial, iar la următoarea etapă procedeul se va relua pentru arborele obținut, formându-se astfel un arbore infinit. În imagini se prezintă un exemplu de arbore dat inițial, arborele obținut după prima etapă de prelungire a frunzelor și arborele obținut după două etape de prelungire a frunzelor. Să se determine câte noduri se află la distanță D
de rădăcina arborelui infinit.
OJI 2019
#3261
Reședința Larei a fost invadată de șobolani. Putem descrie reședința Lorei ca un arbore cu N
noduri având rădăcina în nodul 1
. Inițial niciun nod nu este infestat. Diverse evenimente se pot întâmpla pe rând, fiecare eveniment fiind de următoarele patru tipuri:
1 X
– nodul X
devine infestat2 X
– Lora vrea să elimine șobolanii din drumul de la nodul 1
la nodul X
(inclusiv) folosind ultrasunete în toate nodurile simultan. Dacă se folosesc ultrasunete într-un nod infestat, șobolanii de acolo se împrăștie în toate nodurile vecine unde nu se folosesc ultrasunete, acestea devenind infestate. Nodurile unde se folosesc ultrasunete nu mai sunt infestate. După ce șobolanii au plecat, ultrasunetele se opresc, adică nodurile curățate vor putea fi infestate iar în evenimentele ulterioare.3 X
– Lora angajează profesioniști să curețe nodul X
și fiii săi. Ca urmare, X
și fiii direcți nu mai sunt infestați.4 X
– Lora ar vrea să știe numărul total de noduri infestate din subarborele cu rădăcina X
.Ajutați-o pe Lora să scrie un program care prelucrează fiecare eveniment și determină răspunsurile la evenimentele de tip 4.
Turneul Internațional Shumen 2019
#4364
Cercetătorii din cadrul proiectului LHC (Large Hadron Collider) de la Geneva au anunțat descoperirea unei noi forme a materiei: flatquarkon. Putem reprezenta masa întregului sistem printr-o matrice cu N
linii și M
coloane unde m
ij
reprezintă masa quarcului aflat pe linia i
și coloana j
.
Aplicând un câmp magnetic perpendicular pe planul unui flatquarkon, putem activa energetic unul sau mai mulți quarci, aceștia devenind capabili să participe în reacții nucleare. Dacă doi quarci activi sunt adiacenți (se învecinează pe linie sau pe coloană), atunci vor participa împreună în orice reacție nucleară. Considerăm un flatquarkon aflat într-un mediul lipsit de câmpuri magnetice. Se dă o listă de Q
instrucțiuni de două tipuri:
1. Se aplică un câmp magnetic asupra quarkului de pe linia i
și coloana j
. Dacă quarkul este inactiv, acesta va fi activat de câmpul magnetic. Dacă este deja activ, nu se va întâmpla nimic.
2. Să se afle energia maximă degajată într-o reacție nucleară între două zone active ale flatquarkon-ului. O zonă activă este o porțiune conexă a matricii (toți quarcii incluși sunt adiacenți) ce conține doar quarci activi și are dimensiune maximă (nu se mai poate adăuga niciun alt quark activ fără a încălca proprietatea de conexitate).
Info-Oltenia 2023, individual 11-12
#4565
România este formată din N
orașe conectate între ele, existând un traseu unic între oricare două orașe. Un traseu este o secvență de drumuri care conectează două orașe, astfel încât niciun drum nu se repetă. În total, există N−1
drumuri bidirecționale care conectează orașele.
Fiecare drum are și un cost asociat. Echipa lui Jeffrey a creat o lista de M
perechi de orașe între care se va circula foarte des pentru livrarea coletelor. Definim costul unei perechi de orașe (x, y)
ca fiind suma costurilor drumurilor din traseul de la orașul x
la orașul y
. De asemenea, definim costul total ca fiind suma tuturor costurilor celor M
perechi de orașe date.
Jeffrey poate să aplice următorul tip de operație: selectează un drum cu un cost strict pozitiv și îi scade costul cu 1
. Din motive de “frugality”, această operație poate fi aplicată de cel mult K
ori, unde K
este un număr natural.
Se cere să găsiți costul total minim ce poate fi obținut, după aplicarea de cel mult K
ori a operației menționate mai sus.
Concursul Interjudețean de Matematică și Informatică Grigore Moisil, 2023