L题题解

该题要求求出最多101810^{18}步操作后的位置,但是首先实际上环上的位置是有限的,其次每个点的下一步会到的位置是固定的,所以我们在走至多2n2n步后,我们的行动轨迹一定成环

先暴力处理当前位置x和已经走的步数cnt,每走一步就使x=(a+1)×x+bx=(a+1) \times x + b,并存下到达当前x花费的步数mpx=cntmp_x=cnt,如果当前的x已经被走过,那么循环节的长度就是cntmpxcnt-mp_x,在找到循环节后再暴力走(mcnt)%(cntmpx)(m-cnt)\%(cnt-mp_x)步即可

AC代码https://ac.nowcoder.com/acm/contest/view-submission?submissionId=60102007