模板树转二叉树

Posted kcn999

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模板树转二叉树相关的知识,希望对你有一定的参考价值。

转换方法其实就让每一个结点的第一个子结点做左结点(如果没有则左结点为空),右边的兄弟结点做自己的右结点(如果没有则右结点为空)。

int a[MAX_N][MAX_N], cnt[MAX_N];
int lt[MAX_N], rt[MAX_N];
 
void Update(int x)
{
    if(!cnt[x]) return;
    lt[x] = a[x][1];
    for(register int i = 2, j = lt[x]; i <= cnt[x] + 1; ++i, j = rt[j])
    {
        rt[j] = a[x][i];
        Update(j);
    }
    return;
}

 

以上是关于模板树转二叉树的主要内容,如果未能解决你的问题,请参考以下文章

BZOJ1812riv(多叉树转二叉树,树形DP)

选课 树形DP+多叉树转二叉树+dfs求解答案

多叉树转二叉树+树形dp(codevs 1746 贪吃的九头龙 2002noi)

刷题总结——选课(ssoj树形dp+记忆化搜索+多叉树转二叉树)

树/森林和二叉树的转换

树森林二叉树的转换原理