bzoj 5245: [Fjwc2018]欧拉函数 线段树套bitset

该博客介绍了如何利用线段树和bitset数据结构解决欧拉函数在动态序列上的查询问题。内容包括理解欧拉函数、处理修改与查询操作,并提供了针对区间乘积和和的解决方案,特别关注了处理素数贡献的部分。
摘要由CSDN通过智能技术生成

题意

对于正整数 n,定义欧拉函数 φ(n) 为小于等于 n 且与 n 互质的正整数个数。例如
φ(1) = 1, φ(8) = 4。
给定正整数序列 a1, a2, · · · , an,请依次执行 q 个操作,操作有以下三种类型:
0 i x:修改 ai 的值为 x;
1 l r:查询 φ(al + al+1 + · · · + ar) 的值,输出这个值对 10^9 + 7 取模的结果;
2 l r:查询 φ(al × al+1 × · · · × ar) 的值,输出这个值对 10^9 + 7 取模的结果。
n ≤ 50000, q ≤ 100000,Ai及x<=40000操作 0 的个数不超过 20000,所有的 ai、操作 0 中的 i, x 及操作 1,2 中的 l, r 均在给定的限制下内均匀随机生成

分析

第一问的话,直接用树状数组维护前缀和,然后每次枚举不超过 sum s u m

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值