题目描述

考古学家发现古代文明留下了一种奇怪的装置。该装置包含两个屏幕,分别显示两个整数 $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

「APIO 2019」奇怪装置相关推荐

  1. #3144. 「APIO 2019」奇怪装置

    #3144. 「APIO 2019」奇怪装置 题目描述 考古学家发现古代文明留下了一种奇怪的装置.该装置包含两个屏幕,分别显示两个整数 \(x\) 和 \(y\). 经过研究,科学家对该装置得出了一个 ...

  2. LOJ#3054. 「HNOI 2019」鱼

    LOJ#3054. 「HNOI 2019」鱼 https://loj.ac/problem/3054 题意 平面上有n个点,问能组成几个六个点的鱼.(n<=1000) 分析 鱼题,劲啊. 容易想 ...

  3. 「BJOI 2019」排兵布阵

    传送门 problem 小 C 正在玩一款排兵布阵的游戏.在游戏中有 nnn 座城堡,每局对战由两名玩家来争夺这些城堡.每名玩家有 mmm 名士兵,可以向第 iii 座城堡派遣 aia_iai​ 名士 ...

  4. 「BJOI 2019」勘破神机

    传送门 problem 经过了一个月的艰苦尝试,你的研究团队破译了 "2""2""2" 型奥术宝石和 "3"" ...

  5. 「BJOI 2019」奥术神杖

    传送门 problem 神杖上从左到右镶嵌了 n n n 颗奥术宝石,奥术宝石一共有 10 10 10 种,用数字 " 0123456789 " "0123456789& ...

  6. 【LOJ #6617】「THUPC 2019」摆家具 / furniture(DP / BSGS / 矩阵快速幂)

    传送门 首先显然k=lognk=lognk=logn 显然对于每个iii我们只用关注有多少位与询问的数字不同 考虑分成两个部分 先对每个数字iii求出与他有jjj位不同的数字价值之和 再求出ttt轮后 ...

  7. 「CSP-S 2019」 Emiya 家今天的饭 题解

    题面 样例 2 3 1 0 1 0 1 1 3 分析 考虑正着限制最大的数不超过一半不好做,那我们可以反着来. 令 dp[i][j][k]dp[i][j][k]dp[i][j][k] 为第 iii 行 ...

  8. LOJ #6672. 「XXOI 2019」惠和惠惠和惠惠惠(生成函数,整式递推)

    题目 没有latex就没有推式子的动力怎么破? 设 f i , j f_{i,j} fi,j​表示在前 j j j个回合里,血量为 0 0 0了 i i i个回合且第 j j j个回合血量为 0 0 ...

  9. 编写脚本、篡改数据,90后百度程序员「挣外快」被判刑!

    [导读]百度一名92年的程序员,为了「挣点外快」,通过编写脚本.篡改数据等方式,在半年左右违规通过了735个媒体网站账号加入「百度联盟」的申请,使得公司损失 374 万元广告分成.然而,「破坏计算机信 ...

最新文章

  1. Keep裁员、程序员被抓,看了下行情,我选择投奔AI
  2. react脚手架搭建项目目录介绍
  3. is在python中是什么意思_Python 中 is 与 == 有啥区别?
  4. 使用 DateTimePicker 控件显示和选择时间
  5. 变分模态分解(VMD)运算步骤及源码解读
  6. 在火狐(Firefox)浏览器中安装IE Tab插件
  7. 教你添加百度分享按钮
  8. 互联网思维之极致思维
  9. springboot项目在服务器怎么启动,springboot在服务器上启动的几种方式,亲测通过!...
  10. win10使用VMware Workstations安装CentOS
  11. Hadoop/MapReduce 共同好友解决方案:求大量集合的两两交集
  12. Java DOM4J解析String类型XML,Document对象转String
  13. 功夫熊猫中英文字幕版好句子_了解熊猫中的带有复制警告的设置
  14. 如何把魅族Pro 5刷成Ubuntu手机
  15. 解决B站不能倍速播放
  16. 02 数据定义语言DDL
  17. PHPMyWind编辑器支持一键粘贴
  18. VS 2017 OCX
  19. 国产的蓝光存储设备能算信创产品吗?
  20. Linux下基于ffmpeg音视频解码

热门文章

  1. matplotlib_03_柱状图(条形图)
  2. 二手华为手机价格一览表
  3. QGIS中使用Python快速建立多个矢量数据
  4. lv编码vi0055_LV包包内部编号问题
  5. .net Core Api swagger 注释不显示问题
  6. Kurento 客户端
  7. 初识canvas(二)
  8. EOJ 3262. 黑心啤酒厂
  9. UI设计自学困难吗?
  10. mybatis-generator maven插件的使用