给出一个计算机网络,选取其中给一部分作为服务器,问最少选择几个服务器。 一共有三种状态: 1、 d [ u ] [ 0 ] :u是服务器,每个子结点可以是也可以不是。 2、 d [ u ] [ 1 ] :u不是服务器,但u的父亲是,u的子结点都不是服务器。 3、 d [ u ] [ 2 ] :u和u的父亲都不是服务器,u的子结点恰有一个是服务器。 三种状态的转移: d [ u ] [ 0 ] = ∑ m i n ( d [ v ] [ 0 ] , d [ v ] [ 1 ] ) + 1 。 d [ u ] [ 1 ] = ∑ d [ v ] [ 2 ] 。 d [ u ] [ 2 ] = m i n ( d [ u ] [ 1 ] − d [ v ] [ 2] + d [ v ] [ 0 ] ) 。