标签:spl turn tmp gis clu -- end print const
loj #3144. 「APIO 2019」奇怪装置
很明显的是我们需要找到\((x,y)\)的循环节的长度
当\(t=0\)时,\(x=0,y=0\)
当\(t\neq 0\)时,仍然要使的\(x=0,y=0\)的话,必有
\[
\begin{cases}
t+\lfloor \frac{t}{B} \rfloor \equiv0(mod\ A)\t\equiv0(mod\ B)
\end{cases}
\]
记\(t=t'B\),则有\(A|t'(B+1)\),故\(t'\)最小为\(\frac{A}{gcd(A,B+1)}\)
所以\(t_{min}=\frac{AB}{gcd(A,B+1)}\),这就是循环节长度
把给出的区间取个模,变成区间并问题
注意一些特殊情况的特判以及取模之后每个区间是否需要分拆等问题即可解决此题
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
loj #3144. 「APIO 2019」奇怪装置
标签:spl turn tmp gis clu -- end print const
原文地址:https://www.cnblogs.com/encodetalker/p/11105342.html