[SDOI2006]保安站岗 树dp

要记录三种状态:

1、被子节点覆盖

2、等待父节点覆盖

3、建立覆盖节点

然后转移就好了,有一点麻烦的就是被子节点覆盖,需要保证至少有一个子节点建立

注:检查变量名与实际含义。


码:

#include
#include
#include
using namespace std;
int f[1505][4],k[1505],o,m,n,i,j,x,fu[1505];
vectorv[1505];
void dfs(int o)
{
	int i,nd,min1=999999999,min2=0;
	f[o][1]=k[o];
	for(i=0;i


你可能感兴趣的:(题目)