1

Тема: Взлом сети

Задача. Есть какие-нибудь идеи?

2

Re: Взлом сети

Здесь дано дерево и нужно выбрать покрывающее множество минимальной стоимости.

Подвесим дерево за какую-то вершину (например, первую). Теперь пусть f(i,0) - наименьшая стоимость покрытия поддерева с корнем в i, если мы не добавляем вершину i в покрытие и f(i,1) - то же самое, если мы добавляем вершину i в покрытие. Тогда справедливы следующие рекуррентные соотношения:

f(i,0)=sum{f(j,1)}, где j пробегает по всем потомкам вершины i
f(i,1)=cost(i)+sum{ min{f(j,0),f(j,1)} }, где j пробегает по всем потомкам вершины i

Тогда ответ на задачу это min{f(1,0),f(1,1)}.

3

Re: Взлом сети

http://onzi.narod.ru/problems/p1_11.html
onzi.narod.ru\zip\z1_11.zip

на вид та же задача (я не вчитывался).. там исходник есть... он настолько мелкий, что разобраться не трудно