面试题:无向树中满足特定条件的特殊路径数量计算
树中特殊路径计数问题
给定一棵包含N个节点(编号1到N)的无向树,每个节点关联一个整数标签,不同节点标签可重复。同时给定两个向量:
- 长度为N的零索引向量
A,其中A[j]是树中第(j+1)个节点的标签值; - 长度为K=N-1的零索引向量
E(类型为vector<pair<int,int>>),E[i]={u,v}表示节点u和v之间存在边。
需计算满足以下条件的特殊路径数量:
- 路径的起点和终点标签相同,且起点不等于终点;
- 路径上所有节点的标签值均≤起点的标签值;
- 路径的节点数量大于1(即长度≥2)。
示例
- N=5
- A={1,1,1,2,2}
- E={{1,2},{1,3},{2,4},{2,5}}
- 输出:4
- 解释:符合条件的路径为
4->2->5、2->1、2->1->3、1->3
约束条件
- 1≤N≤10^5
- 1≤A[i]≤10^8
内容的提问来源于stack exchange,提问作者rohan kumar
相关产品推荐
相关产品推荐

