dpi]代表以i为根节点的最高高度;
c[i]:为i的孩子数;
f[i]:为i的父亲
注意事项:
参考代码:
#include<bits/stdc++.h> using namespace std; long long N; int f[1000000]; int c[1000000]; int dp[1000000]; int main(){ cin>>N; for(long long i = 2; i <= N; i++){ cin>>f[i]; } long long size = N; for(long long i = 1; i <= N; i++){ if(f[i]){ c[f[i]]++; } } for(long long i = N; i >= 1; i--){ dp[f[i]] = max(dp[f[i]], dp[i] + c[f[i]]); } cout<<dp[1]; return 0; }
0.0分
3 人评分
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:1222 |
C语言训练-计算t=1+1/2+1/3+...+1/n (C语言代码)浏览:904 |
简单的a+b (C语言代码)浏览:573 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:560 |
1054题解浏览:460 |
小九九 (C语言描述,不看要求真坑爹)浏览:981 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:592 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:508 |
C二级辅导-同因查找 (C语言代码)浏览:563 |
前10名 (C语言代码)浏览:725 |