Am văzut că în firul „feedback†că articolul cu soluțiile oficiale va apărea tîrziu. Între timp putem să spunem noi cum am rezolvat diverse probleme aici pe forum.
La ktree problema cea mai mare pe care am avut-o e că luam „incorect†și nu știam de ce

Noroc că cineva întrebase deja pe forum daca pentru graful 1->2->3 poți dinamita ambele muchii.
Pentru fiecare nod n am calculat costul minim necesar pentru a tăia exact m muchii și exact k noduri C[n][m][k]. O muchie e tăiată dacă e tăiată

iar un nod e 'tăiat' dacă nu poți ajunge la el de la rădăcină (=nodul 1). Cu alte cuvinte k la mine e n-k în enunț. Ca să calculezi matricea C[n] presupui că ai calculate matricele C[nn] pentru toți copii nn ai lui n. Apoi folosești o altă matrice A[q][m][k] unde A[q] este soluția în cazul în care consideri numai primii q copii ai lui n.
Chestia asta a avut nevoie de o optimizare mică ca să intre în timp: C[n][m][k]=infinit pentru m>k (pentru că o muchie tăiată taie măcar un nod) așa că nu mai trebuie calculat.