1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

思路

  • 关键性质:对于权值集合的最小公倍数,若把每个数按素数分解 w=∏pepw=\prod p^{e_p}w=∏pep​,则 LCM 对应每个素数的指数取最大值。由于 wi≤100w_i \le 100wi​≤100,素数仅有 252525 个(不超过 979797),各指数极小(如 222 的最大指数为 666)。

  • 路径查询:仅为根到 xxx 的路径。用重链剖分将路径拆成 O(log⁡n)O(\log n)O(logn) 个链段。

  • 数据结构:用一棵线段树,节点维护一个长度为 252525 的小数组,表示该区间所有黑色节点对每个素数的指数最大值(白色为全零)。

    • 翻转颜色 → 点更新(设为该点的指数向量或全零)。
    • 查询根到 xxx → 若干区间查询,合并(逐素数取最大),最后计算

P3519.第4题-树上最小公倍数追踪

    1000ms Tried: 20 Accepted: 5 Difficulty: 10 所属公司 : 美团
    算法与标签>线段树

题目内容

给定一棵以节点 111 为根的有 nnn 个节点的树,每个节点 iii 有一个正整数权值 wiw_iwi​ ,初始被涂成黑色或白色。你需要支持以下两种操作;

1.翻转节点 xxx 的颜色(黑色变白色,自色变黑色);

2.查询从根节点 111 到节点 xxx 的路径上所有黑色节点的权值的最小公倍数(若路径上无黑色节点,则记为 111 )

【名词解释】

最小公倍数:最小公倍数是能够被给定整数集合中每个整数整除的最小正整数,记为 IcmIcmIcm 。

输入描述

第一行输入两个整数 nnn 和 q(1≦n,q≦2×105)q(1≦n,q≦2×10^5)q(1≦n,q≦2×105),分别表示树的节点数量和操作数量。

第二行输入 nnn 个整数 w1,w2,...,wn(1≦wi≦100)w_1,w_2,...,w_n(1≦w_i≦100)w1​,w2​,...,wn​(1≦wi​≦100),分别表示节点 111 到节点 nnn 的权值。

第三行输入一个长度为 nnn 、仅由字符 BBB 和 WWW 构成的字符串 ccc,其中 c1=Bc_1=Bc1​=B 表示节点 iii 初始化为黑色,ci=Wc_i=Wci​=W 表示初始化为白色。

接下来 n−1n-1n−1 行,每行输入两个整数 uiu_iui​ 和 vi(1≦ui,vi≦n;ui≠vi)v_i(1≦u_i,v_i≦n;u_i≠v_i)vi​(1≦ui​,vi​≦n;ui​=vi​) ,表示一条连接节点 uiu_iui​ 和节点 viv_ivi​ 的无向边,保证这 nnn 个节点构成一颗根为 111 的树。

接下来 qqq 行,每行输入两个整数 ttt 和 x(t∈1,2,1≦x≦n)x(t∈{1,2},1≦x≦n)x(t∈1,2,1≦x≦n) ,表示一次操作。

1.当 t=1t=1t=1 时,执行翻转操作;

2.当 t=1t=1t=1 时,执行查询操作。

输出描述

对于每次查询操作,在一行中输出一个整数,表示对应路径上黑色节点权值的最小公倍数对 (109+7)(10^9+7)(109+7) 取模后的结果。

样例1

输入

5 5
2 3 4 5 6
BWBWB
1 2
1 3
3 4
3 5
2 4
1 3
2 4
1 1
2 5

输出

4
2
5

说明

在这个样例中,初始颜色为

  • 节点 1→B1→B1→B ;

  • 节点 2→W2→W2→W ;

  • 节点 3→B3→B3→B ;

  • 节点 4→W4→W4→W ;

  • 节点 5→B5→B5→B 。

第一条查询 222 444 :路径 1−3−41-3-41−3−4 上黑色节点为 1,31,31,3 ,权值分别为 2,42,42,4 ,lcm(2,4)=4lcm(2,4)=4lcm(2,4)=4,翻转节点 333 后第二次查询 222 444 ;路径上仅剩节点 111 为黑色,lcm(2)=2lcm(2)=2lcm(2)=2 ,再翻转节点 111 后第三次查询 222 555 ;路径 1−3−51-3-51−3−5 上仅有节点 555 为黑色,lcm(6)=6lcm(6)=6lcm(6)=6 。

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 2, 84ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?