在决策树模型中, 每个节点代表一个决策点, 每条边代表一个可能的决策路径, 边上的权重表示选择该路径的概率权重. 现在你需要实现一个数据结构, 能够高效地计算从根节点到任意指定节点的路径概率, 同时支持动态修改边的权重.
给定一棵有根决策树, 包括 n 个节点, 编号为 1 到 n, 其中 1 号节点为根节点. 每个非叶子节点都有若干子节点, 每条从父结点到子节点的边都有一个初始权重. 从父结点到各个子节点的选择概率由这些权重决定 (权重越大, 被选中的概率越高).
你需要实现以下两种操作:
1. 修改某条边的权重 (保证该边存在)
2. 查询从根节点到某个指定节点的路径概率 (在模 998244353 下的值, 定义有理数的模为: 若概率值等于 QP, 其中 P 和 Q 为整数且 Q 不等于 0, 则在模 MOD 下的结果为: P×Q 的逆元, 其中 Q 的逆元满足: Q×Q 的逆元 ≡1 mod MOD)
路径概率定义为从根节点出发, 沿着路经依次选择对应子节点的概率的乘积.