单亲节点家谱
求最近公共祖先类问题
求几代以内时候有LCA类问题:从两个节点分别搜索一次,每个父节点都标记代数,以此作为判断
题目:
冰岛人
求最大深度以及最大深度相关的问题
求最大深度:自底向上记忆化搜索
求符合最大深度的第一条路径:先从下向上搜出最大深度,再从上向下搜到第一个等于最大深度的节点
题目:
小字辈
病毒溯源
双亲节点家谱
求最近公共祖先类问题
求几代以内时候有LCA类问题:从两个节点分别搜索一次,每个父节点都标记代数,以此作为判断
void dfs(int x,int t)
{
if(st[x]>0&&t<=5||st[x]>0&&st[x]<=5){
flag=true; return ;
}
st[x]=t;
if(f[x]!=-1)dfs(f[x],t+1);
if(m[x]!=-1)dfs(m[x],t+1);
}
题目:
愿天下有情人都是失散多年的兄妹