大佬求助!!!
by 啷里个浪 @ 2020-12-08 19:40:32
设$a_i$保存其点上方的边的苹果数
by Union_of_Britain @ 2021-02-19 22:35:53
@[kkksc0100](/user/342076) 多谢!
by 啷里个浪 @ 2021-02-21 15:37:34
dfs的时候带着子节点编号和父节点编号。然后每层将之前两点的边权赋给子节点就好了,1这个根节点的权值为0.
```cpp
void dfs(int son,int fa)
{
nval[son]=val[fa][son];
dp[son][1]=nval[son];
// cout<<son<<' '<<fa<<' '<<val[fa][son]<<endl;
for(int i=0;i<edge[son].size();i++)
{
int v=edge[son][i];
if(v!=fa)
{
dfs(v,son);
for(int j=m+1;j>0;j--)
{
for(int k=1;k<j;k++)
dp[son][j]=max(dp[son][j],dp[son][j-k]+dp[v][k]);
}
}
}
}
```
by Nekura_Yuki @ 2021-04-07 20:22:09