给定长度为 n 的数组,需要处理两类操作:
若每次查询都线性扫描数组,时间为 O(n),在 n、q 均为 2×10^5 的规模下会超时。 关键观察:一个数能否被 k 整除,只与它的所有“因子关系”有关。我们可以把问题转化为按“可整除值”统计频次:
给定一个长度为 n 的数组 {a1,a2,...,an}。你需要依次处理 q 次操作,每次操作属于两种类型之一:
查询:给定整数 k ,统计整个数组中有多少个数可以被 k 整除;
修改:将位置 i 的数值改为 2 (数组下标从 1 开始)。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册