PAT树形家谱问题

单亲节点家谱

求最近公共祖先类问题

求几代以内时候有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);
}

题目:
愿天下有情人都是失散多年的兄妹

posted @ 2022-11-17 23:02  林动  阅读(14)  评论(0)    收藏  举报