栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 2486 Apple Tree

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 2486 Apple Tree

#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <ctime>#include <vector>#include <queue>#include <stack>#include <set>#include <list>#include <map>#include <cmath>#include <algorithm>#define INF 0x3f3f3f3f#define PB push_back#define MP make_pair#define REP(X,N) for(int X=0;X<N;X++)#define REP2(X,L,R) for(int X=L;X<=R;X++)#define DEP(X,R,L) for(int X=R;X>=L;X--)#define CLR(A,X) memset(A,X,sizeof(A))#define IT iterator#define X first#define Y second#define lson l,m,o<<1#define rson m+1,r,o<<1|1using namespace std;typedef long long LL;typedef unsigned long long uLL;typedef pair<int, int> PII;typedef vector<int> VI;typedef vector<PII> VII;int dp[110][210][2];int N, K;VI T[110];int num[110];void init() {    REP(i, 110) T[i].clear();}void tree_dp(int o, int pa) {    REP(i, T[o].size()) {        int v = T[o][i];        if (v != pa) { tree_dp(v, o); DEP(j, K, 1) {     REP2(k, 1, j) {         dp[o][j][0] = max(dp[o][j][0], dp[o][j-k][1] + dp[v][k-1][0]);         dp[o][j][0] = max(dp[o][j][0], dp[o][j-k][0] + dp[v][k-2][1]);         dp[o][j][1] = max(dp[o][j][1], dp[o][j-k][1] + dp[v][k-2][1]);     } }        }    }}int main() {    while (~scanf("%d%d", &N, &K)) {        init();        REP(i, N) { int x; scanf("%d", &x); REP(j, K+1) dp[i][j][0] = dp[i][j][1] = x;        }        REP(i, N-1) { int u, v; scanf("%d%d", &u, &v); u--; v--; T[u].PB(v); T[v].PB(u);        }        tree_dp(0, -1);        printf("%dn", max(dp[0][K][1], dp[0][K][0]));    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/379681.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号