当前位置:   article > 正文

acwing 285 没有上司的舞会 2022/05/11_xl上司

xl上司
  1. #include<iostream>
  2. #include<cstring>
  3. #include<algorithm>
  4. using namespace std ;
  5. const int N = 6010 ;
  6. int happy[N] ;
  7. int e[N] , h[N] , ne[N] , idx ;
  8. bool hasfather[N];
  9. int f[N][2];
  10. int n;
  11. void add(int a , int b)
  12. {
  13. e[idx] = b , ne[idx] = h[a] , h[a] = idx ++ ;
  14. }
  15. void dfs(int u)
  16. {
  17. f[u][1] = happy[u];
  18. for(int i = h[u] ; i != -1 ; i = ne[i])
  19. {
  20. int j = e[i] ;
  21. dfs(j) ;
  22. f[u][0] += max(f[j][1] , f[j][0]) ;
  23. f[u][1] += f[j][0] ;
  24. }
  25. }
  26. int main()
  27. {
  28. cin >> n ;
  29. for(int i = 1 ; i <= n ; i++)
  30. {
  31. cin>> happy[i] ;
  32. }
  33. memset(h , -1 , sizeof h) ;
  34. for(int i = 1 ; i < n ; i++)
  35. {
  36. int a , b ;
  37. cin >> a >> b ;
  38. hasfather[a] = true ;
  39. add(b,a);
  40. }
  41. int root = 1;
  42. while(hasfather[root]) root ++ ;
  43. dfs(root);
  44. int res = max(f[root][0] , f[root][1]) ;
  45. cout << res ;
  46. return 0 ;
  47. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/636864
推荐阅读
相关标签
  

闽ICP备14008679号