「APIO 2019」奇怪装置

题目描述

考古学家发现古代文明留下了一种奇怪的装置。该装置包含两个屏幕,分别显示两个整数 $x$ 和 $y$。
经过研究,科学家对该装置得出了一个结论:该装置是一个特殊的时钟,它从过去的某个时间点开始测量经过的时刻数 $t$,但该装置的创造者却将 $t$ 用奇怪的方式显示出来。
若从该装置开始测量到现在所经过的时刻数为 $t$,装置会显示两个整数:$x = ((t + \lfloor \frac{t}{B} \rfloor) \bmod A)$,与 $y = (t \bmod B)$。
这里 $\lfloor x\rfloor$ 是下取整函数,表示小于或等于 $x$ 的最大整数。
考古学家通过进一步研究还发现,该装置的屏幕无法一直工作。
实际上,该装置的屏幕只在 $n$ 个连续的时间区间段中能正常工作。第 $i$ 个时间段从时刻 $l_i$ 到时刻 $r_i$。
现在科学家想要知道有多少个不同的数对 $(x, y)$ 能够在该装置工作时被显示出来。
两个数对 $(x_1, y_1)$ 和 $(x_2, y_2)$ 不同当且仅当 $x_1 \not = x_2$ 或 $y_1 \not = y_2$。
对于全部数据,$1\le n\le 10^6,1\le A,B\le 10^{18},0\le l_i\le r_i\le 10^{18},r_i<l_i+1$。

社论

考虑求出这个序列的循环节

一开始有 $t=0,x=0,y=0$,设它的循环节为 $k$,则 $t=k,x=0,y=0$

即:

$$
\begin{cases}
k+\left\lfloor \frac{k}{B} \right\rfloor \equiv 0 \pmod{A} \\
k \equiv 0 \pmod {B}
\end{cases}
$$

化简得:

$$
k=\frac{AB}{\gcd(B,B+1)}
$$

转载于:https://www.cnblogs.com/KingSann/articles/11124220.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值