摘要: 树形DP。用F[k][0]和F[k][1]表示某节点不选和选了之后子树的最大值。那么:f[i][0]=sigma(max(f[k][0],f[k][1]))f[i][1]=sigma(f[k][0])+v[i]解题中用了备忘录。一开始要先找树根。#include #include #include #include #include #define MAX(a, b) a>b?a:b#define LEN 6005using namespace std;int F[LEN][2]; // dp state, F[i][0] for i not selected, F[i][1] for 阅读全文
posted @ 2013-10-30 22:55 阿牧遥 阅读(337) 评论(0) 推荐(0)