关键性质:对于权值集合的最小公倍数,若把每个数按素数分解 w=∏pep,则 LCM 对应每个素数的指数取最大值。由于 wi≤100,素数仅有 25 个(不超过 97),各指数极小(如 2 的最大指数为 6)。
路径查询:仅为根到 x 的路径。用重链剖分将路径拆成 O(logn) 个链段。
数据结构:用一棵线段树,节点维护一个长度为 25 的小数组,表示该区间所有活跃(B)节点对每个素数的指数最大值(静默(W)节点为全零)。
给定一棵以节点 1 为根的有 n 个节点的树,每个节点 i 拥有一个正整数权值 vi,并且带有一个状态标记,标记由字符 B(活跃)或 W(静默)表示。你需要依次处理 q 个操作,操作类型如下:
这里最小公倍数(Lcm)表示能够被给定整数集合中每一个数整除的最小正整数。所有查询结果需要对 109+7 取模。
数据范围:节点数量 n 和操作数量 q 均满足 1≤n,q≤2imes105;每个节点的权值 vi 满足 1≤vi≤100;状态字符串仅由字符 B 和 W 组成;给出的边能够构成一棵以 1 为根的树。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册