Итак, я решил эту проблему и решил ее с помощью% операции, но это отнимает много времени, и мое решение было принято только частично.Эффективное по времени решение - это это , которое я не мог понять.Точнее, есть конкретная часть решения, которую я не мог понять.Я суммирую эту часть здесь, которая выглядит следующим образом:
Пусть f (x) = Число целых чисел в массиве, делимое на X. Чтобы выяснить это, мы можем использовать тот факт, что все элементы вмассив и все значения P и Q меньше или равны 2 * 10 ^ 5.Таким образом, мы можем вычислить для всех целых чисел i (1 <= i <= 2 * 10 ^ 5) количество целых чисел в массиве, кратное i, используя следующее сито </p>
for i = 1 to 200000
j = i
while j <= 200000
f[i] = f[i] + frequency[j]
j = j + i
i-й элемент«частота» содержит частоту i в данном массиве.