题意:有n只青蛙,m个石头(围成圆圈).第i只青蛙每次只能条ai个石头,问最后所有青蛙跳过的石头的下标总和是多少? 析:首先可以知道的是第 i 只青蛙可以跳到 k * gcd(ai, m),然后我就计算所有的等差数列,但是好像如果全算,那么就可能会有重复,所以我们考虑用容斥原理. 先把 m 的所有因数都求出来,然后把 gcd(ai, m),都标记一下,然后再去计算,多了就减去,少了就加. 代码如下: #pragma comment(linker, "/STACK:1024000000,10240…