• 【洛谷P5018 对称二叉树】


    话说这图也太大了吧

    这题十分的简单,我们可以用两个指针指向左右两个对称的东西,然后比较就行了

    复杂度O(n*logn)

    #include<bits/stdc++.h>
    using namespace std;
    inline int read()
    {
        int X=0,w=1;
        char c=getchar();
        while(c<'0'||c>'9')
        {
            if (c=='-')
            {
                w=-1;
            }
            c=getchar();
        }
        while(c>='0'&&c<='9')
        {
            X=(X<<3)+(X<<1)+c-'0';
            c=getchar();
        }
        return X*w;
    }
    inline void out(int n)
    {
        if(n<0)
        {
            putchar('-');
            n=-n;
        }
        if(n>=10)
        {
            out(n/10);
        }
        putchar(n%10+'0');
    }
    int n,son[1000050][2],val[1000050],size[1000050];
    //son[i][0]为i的左儿子
    //son[i][1]为i的右儿子
    inline void dfs(int u)
    {
        size[u]=1;
        if(son[u][0]!=-
        1)
        {
            dfs(son[u][0]);
            size[u]+=size[son[u][0]];
        }
        if(son[u][1]!=-1)
        {
            dfs(son[u][1]);
            size[u]+=size[son[u][1]];
        }
    }
    inline bool check(int u,int v)
    {
        if(u==-1&&v==-1)
        {
            return true;
        }
        if(u!=-1&&v!=-1&&val[u]==val[v]&&check(son[u][0],son[v][1])&&check(son[u][1],son[v][0]))
        {
            return true;
        }
        return false;
    }
    int main()
    {
        n=read();
        for(int i=1;i<=n;i++)
        {
            val[i]=read();
        } 
        for(int i=1;i<=n;i++)
        {
            son[i][0]=read();
            son[i][1]=read();
        }
        dfs(1);
        int ans=0;
        for(int i=1;i<=n;i++)
        {
            if(check(son[i][0],son[i][1]))
            {
                ans=max(ans,size[i]);
            }
        }
        out(ans);
        puts("");
        return 0;
    }
  • 相关阅读:
    前端构建工具gulpjs的使用介绍及技巧
    mysql /*! 50100 ... */ 条件编译
    linux 硬连接与软连接
    Linux 数据流重定向
    倒排索引
    sed 常用的功能
    linux mysql安装
    mysql help
    linux 命令行选项
    mysql 主主复制的配置流程
  • 原文地址:https://www.cnblogs.com/gongcheng456/p/11116336.html
Copyright © 2020-2023  润新知