zoukankan      html  css  js  c++  java
  • 5908. 统计最高分的节点数目

    统计每个子树的个数就行

    当前节点的value = 它的所有子树的节点个数 + 根节点树节点的个数 - 当前节点子树节点的个数

    class Solution {
    public:
        vector<int> v[100010];
        int num[100010];
        long long ret[100010];
        int cnt;
    
        int dfs(int u)
        {
            int len = v[u].size();
            int cnt1 = 0, cnt2 = 0;
            for(int i = 0; i < len; i++)
            {
                if(i == 0)
                    cnt1 = dfs(v[u][i]);
                else
                    cnt2 = dfs(v[u][i]);
            }
            num[u] = cnt1 + cnt2 + 1;
            return num[u];
        }
        
        
        
        
        
        int countHighestScoreNodes(vector<int>& parents) {
            int n = parents.size();
            for(int i = 0; i < n; i++)
                if(i != 0) v[parents[i]].push_back(i);
            int k = dfs(0);
            long long max_v = -1, sum;
            
            for(int i = 0; i < n; i++)
            {
                sum = 1;
                if(i == 0)
                {
                    int len2 = v[i].size();
                    for(int j = 0; j < len2; j++)
                        sum *= (long long)num[v[i][j]];
                }
                else
                {
                    int len2 = v[i].size();
                    sum *= (long long)(num[0] - num[i]);
                    for(int j = 0; j < len2; j++)
                        sum *= (long long)num[v[i][j]];
                }
                ret[i] = sum;
                max_v = max(max_v, sum);
                
            }
            int ans = 0;
            for(int i = 0; i < n; i++)
                if(ret[i] == max_v) ans++;
            
            
            return ans;
            
            
        }
    };
  • 相关阅读:
    UTF-8 GBK UTF8 GB2312 之间的区别和关系
    为什么要需求分析
    数据库建表原则
    使用SQL存储过程有什么好处 用视图有什么好处
    SQL使用视图的优缺点
    百度地图添加多个行政区划
    性能测试日志分析之awk基础用法
    Nginx 安装配置
    linux的top命令参数详解
    Java小程序Linux下运行
  • 原文地址:https://www.cnblogs.com/WTSRUVF/p/15451547.html
Copyright © 2011-2022 走看看