关键性质:对于权值集合的最小公倍数,若把每个数按素数分解 w=∏pep,则 LCM 对应每个素数的指数取最大值。由于 wi≤100,素数仅有 25 个(不超过 97),各指数极小(如 2 的最大指数为 6)。
路径查询:仅为根到 x 的路径。用重链剖分将路径拆成 O(logn) 个链段。
数据结构:用一棵线段树,节点维护一个长度为 25 的小数组,表示该区间所有受祝福节点对每个素数的指数最大值(普通节点为全零)。
在一个古老的家族中,所有成员构成一棵以始祖为根的有根树,成员依次编号为 1 到 n。每位成员拥有一个幸运数字 ai (1≤ai≤100),并且初始时处于两种状态之一:受祝福(用字符 B 表示)或普通(用字符 W 表示)。你需要依次处理 q 个事件,每个事件是以下两种之一:
【名词解释】 最小公倍数(LCM):能够被给定整数集合中每一个整数整除的最小正整数。
约束:家族成员数量 n 和事件数量 q 均满足 1≤n,q≤2imes105;幸运数字 ai 是 1 到 100 之间的整数。树以节点 1 为根。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册