Lista de probleme 4

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

#2469 dungeon

Fie G un graf neorientat cu 2 * N noduri și 3 * N - 2 muchii. Fiecare muchie este colorată în alb, negru sau roșu.
Se garantează următoarele:

  • Există N-1 muchii albe. Capetele lor sunt noduri din mulțimea 1, 2, ..., N. Ele formează un arbore.
  • Există N-1 muchii negre. Capetele lor sunt noduri din mulțimea N+1, N+2, ..., 2*N. Ele formează un arbore.
  • Există N muchii roșii. Fiecare muchie are un capăt în mulțimea 1, 2, ..., N și celălalt capăt în mulțimea N+1, N+2, ..., 2*N.

Cele 2 * N capete ale muchiilor roșii sunt distincte două câte două. Cu alte cuvinte, fiecare nod din graf are exact o muchie roșie incidentă.
Numim ciclu hamiltonian special un ciclu care:

  • vizitează fiecare nod al grafului exact o dată.
  • nu parcurge consecutiv două muchii de aceeași culoare.
  • începe din nodul 1, iar prima muchie parcursă este de culoare roșie.

Afișați un ciclu hamiltonian special al grafului G sau constatați că nu există niciun astfel de ciclu.

ONI 2018 clasele XI-XII

Se consideră un șir de N numere naturale. O parte dintre poziţiile șirului sunt nevirusate și acest lucru este marcat prin faptul că valoarea de la acele poziţii este 0. Restul poziţiilor sunt virusate și valoarea nenulă de la o poziţie virusată reprezintă costul cu care ea poate fi devirusată. Devirusăm o parte dintre poziţii și dorim ca în final să avem exact K poziţii nevirusate, iar costul total al devirusării să fie minim. O poziţie poate fi devirusată la un moment dat, dacă și numai dacă are cel puţin o poziţie vecină nevirusată. După devirusarea unei poziţii costul asociat acesteia se adună la costul total, poziţia devine nevirusată si orice altă poziţie vecină virusată va putea fi ulterior devirusată.
Cunoscând N, K și șirul de numere naturale să se determine costul minim cu care se pot obţine la final exact K poziţii nevirusate (incluzând şi poziţiile ce au fost iniţial nevirusate).

ONI 2018 clasele XI-XII

#2470 zuma

Se dă un șir de caractere de lungime N format din litere mari ale alfabetului englez și un număr întreg K. Asupra șirului se poate aplica în mod repetat următoarea operație: se alege o subsecvență de lungime cel putin K având toate elementele egale și se elimină din șir. Evident că prima dată operația se aplică asupra șirului inițial și ulterior asupra șirului obținut din aplicarea operației anterioare. Operația se aplică până când șirul devine șirul vid (de lungime 0) sau șirul nu mai conține subsecvențe de lungime cel puțin K cu toate elemente egale.
Cunoscând N, K și șirul de caractere, să se determine care este lungimea minimă la care poate fi redus șirul după aplicarea operațiilor într-un mod convenabil.