来看一下一般的根号算法的思路过程,见这篇题解
重点是这句话
所以一般来说,我们先写出最暴力的版本,然后考虑是否可以根号算法优化
那为什么我们要设置\(dp\)数组呢?其实这里仍然运用了转换对象法这个思想,因为每次修改的数只有一个,但是模数却有很多个,所以我们可以尝试去统计贡献