ABC340

E

我们可以知道每一个点在每一轮加多少,具体如下:

假如现在操作的点的为 \(k\)。那么所有的数都至少会加 \(\dfrac{A_k}{n}\)。但是肯定有剩的,剩了 \(A_k \mod n\)

很明显,\(A_k \mod n\) 会分给接下来的 \(A_k \mod n\) 个数。

这样我们就可以知道每个点每轮加多少了。然后用线段树维护即可。

code


F

三角形的面积为 \(1\) 就等价于 \(|ay - bx| = 2\)

我们定义 \(g = \gcd(x,y)\)。假如 \(g \ge 3\) 那么没有答案,因为 \(g\) 必须是 \(2\) 的因数。

然后我们就要的到一对 \((c,d)\) 使得 \(cy - dx = \pm \gcd(x,y)\)。然后用扩欧就可以求出 \((c,d)\) 啦。

然后我们最开始要求的是一对 \((a,b)\)\(ay-bx = \pm 2\)。于是我们把答案乘上 \(\dfrac{2}{g}\) 即可。

code

posted @ 2024-02-10 22:15  sqrtqwq  阅读(21)  评论(0编辑  收藏  举报