Algoritmul, pas cu pas
Ideea de pornire e simplă: nu desenăm toate ordonările posibile ale fiilor (ar fi mult prea multe). În schimb, pentru fiecare nod ne întrebăm direct: câte noduri pot ajunge înaintea lui în parcurgere? Dacă printre acele numere posibile apare , atunci poate fi exact al -lea, adică pe poziția .
Cheia e că „numărul de noduri dinaintea lui " nu e fix — depinde de cum aranjăm frații. Dar nu poate fi orice: e o sumă de submulțime a unor blocuri întregi (subarbori frați la DFS, grupuri de pe nivel la BFS), pe care le putem pune înainte sau după ramura spre . Asta transformă problema într-un subset-sum, pe care îl ținem compact cu bitset-uri.