题目背景有一次有人带了一个序列然后在路上被无耻的 xuyiluo2 抢走了。题目描述给你一个长度为 �n 的序列 �a以及一个操作集合 �v每个 �v 中的元素都有 ���op i 、��l i 、��r i 和 ��v i 四个值。如果 ���op i 为 11则表示查询 ��l i 到 ��r i 之内的区间的数的 lcmlcm 模上 9982443539982443
解题思路:
- 定义一个函数
lcm_mod(x, y, mod),计算x和y的最小公倍数模上mod的值。 - 定义一个函数
calculate(a, v, s, t, mod),计算从s到t的操作集合v的操作结果。- 首先初始化结果数组result为长度为n的全0数组。
- 遍历从s到t的操作集合v,对于每个操作:
- 如果操作为1,则计算[l, r]区间的数的最小公倍数模上mod的值,并将结果存入result数组对应位置。
- 如果操作为2,则将[l, r]区间的数加上v。
- 返回结果数组result。
- 读入输入的n,m,a数组,v数组,q,以及q个操作的s和t。
- 对于每个操作,调用calculate函数计算结果,并输出结果。
原文地址: https://www.cveoy.top/t/topic/iITU 著作权归作者所有。请勿转载和采集!