/*
自己的第一道树形DP题
HDU1011题意:
深搜+树形DP
为了阐述的简便,先解释输入数据
输入n和m,n为定点数,m为人数
之后n行为cost[i],score[i]分别为第i点需要耗费的体力和可以得到的分数
之后n-1行为构造树,规定了1点为树根
读到-1 -1结束
下面解释cost,score
每个人有20点体力值,在每个点可以分配人数,当人数*20>=cost[i]时,可以得到第i点的score[i]
但是每个人最多分配在一个点上
求最多得到的分数
思路:构数之后DP
为叶子结点时,判断当前还剩的人数能否得到该点的分数return (20*剩下的人数>=cost[i])?score[i]:0
参考了大神kuangbin的代码,十分感谢
*/
#include
#include
#include
#include
#include