会员专享
请先
登录,登录后可使用今日免费解锁;
开通会员后可解锁完整内容。
解题思路
核心思路
一条告警的「同源性」只由它的路径指纹决定:在每棵树上从根出发独立推理,走到叶子即得该树落点编号,T 棵树的落点编号依次组成一个 T 元组。指纹相同即同源。于是只需对全部 N 条告警各做一次推理求出指纹,用哈希表维护每个指纹的两个量——出现次数与最小编号(告警按编号从小到大处理,首见指纹时的编号即最小值)——之后每条查询用查询告警的指纹查表,O(1) 回答。
指纹的存储:T≤8 且 K≤32(落点编号在 1∼32 之间),把每棵树的落点编号作为一个 6 位段依次压入一个 64 位整数:
key=t=1∑Tnodet⋅64T−t