QOJ.ac

QOJ

Type: Editorial

Status: Open

Posted by: jiangly

Posted at: 2025-12-14 06:56:01

Last updated: 2025-12-14 06:56:05

Back to Problem

题解

题意也就是说如果两次按键的时间之差 $\le v$ 则将答案 $+1$。

我们用总的按键次数减去不满足的次数。

如果 $\min\{a, c\}\le v$ 那么只有第一次不满足。否则同一个人的两次按键之差都 $>v$,只需要判断和另一个人的按键时间之差。假设同一时间的按键是第一个人在第二个人之前,那么对于第一个人在 $i\cdot a$ 时刻的按键,如果 $(i\cdot a-1)\bmod c+1>v$ 则不满足。第二个人则是如果 $i\cdot c\bmod a>v$ 则不满足。这里的 $i$ 分别以 $c,a$ 为循环节,所以可以在 $O(a+c)$ 的时间计算。用类欧几里得算法可以做到 $O(\log (a+c))$。

Comments

No comments yet.