Advertisement
SorahISA

[NHSPC 2019] C. 尋寶之旅

Apr 20th, 2020
406
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.52 KB | None | 0 0
  1. // #pragma GCC target("avx2")
  2. #pragma GCC optimize("O3", "unroll-loops")
  3.  
  4. // #include <bits/extc++.h>
  5. // using namespace __gnu_pbds;
  6.  
  7. #include <bits/stdc++.h>
  8. using namespace std;
  9.  
  10. #define int long long
  11. #define double long double
  12. // template <typename T>
  13. // using pbds_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
  14. using pii = pair<int, int>;
  15. template<typename T>
  16. using prior = priority_queue<T, vector<T>, greater<T>>;
  17. template<typename T>
  18. using Prior = priority_queue<T>;
  19.  
  20. #define X first
  21. #define Y second
  22. #define ALL(x) (x).begin(), (x).end()
  23. #define eb emplace_back
  24. #define pb push_back
  25.  
  26. #define fastIO() ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0)
  27. #define RANDOM() random_device __rd; \
  28.                  mt19937 __gen = mt19937(__rd()); \
  29.                  uniform_int_distribution<int> __dis(0, 1); \
  30.                  auto rnd = bind(__dis, __gen);
  31.  
  32. const int INF = 1E18;
  33. const int mod = 1E9 + 7;
  34. const int maxn = 2E5 + 5;
  35.  
  36. int ans = 0;
  37. vector<int> v(maxn);
  38. vector<int> adj[maxn];
  39. map<int, int> cnt;
  40.  
  41. void dfs(int now, int lst) {
  42.     ans = max(ans, ++cnt[v[now]]);
  43.     for (auto x : adj[now]) {
  44.         if (x != lst) dfs(x, now);
  45.     }
  46.     --cnt[v[now]];
  47. }
  48.  
  49. int32_t main() {
  50.     fastIO();
  51.    
  52.     int n, a, b;
  53.     cin >> n;
  54.    
  55.     for (int i = 0; i < n; ++i) cin >> v[i];
  56.     for (int i = 0; i < n-1; ++i) {
  57.         cin >> a >> b, adj[a].eb(b), adj[b].eb(a);
  58.     }
  59.    
  60.     dfs(0, -1);
  61.    
  62.     cout << ans << "\n";
  63.    
  64.     return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement